- Messaggi: 376
- Ringraziamenti ricevuti 38
×
MSP430, Microcontrollori 16 bit Ultra Low Power
I/O e resistori di PullUp - PullDown
12 Anni 2 Mesi fa #1
da fortezzadigitale
I/O e resistori di PullUp - PullDown è stato creato da fortezzadigitale
Salve a tutti,
sto leggendo il VI capitolo del corso MSP430, "MSP430: Utilizzo ed impostazione delle Porte I/O".
ad un certo punto si parla di resistori di pullup/pulldown configurabili quando i pin vengono usati come ingressi.
potreste spiegare ad un perfetto ignorante come me l'utilità (o la necessità) di abilitare questi resistori? e che differenza c'è tra pullup e pulldown? (non sono un elettronico ma un semplice informatico)
da un esempio che avevo scopiazzato da qualche parte, avevo provato un codice per far accendere il led1 alla pressione del pulsante S2, ma mancava la parte del resistore di pullup e il comportamento che ottenevo era infatti imprevedibile: il led si avvicinava o spegneva semplicemente avvicinando il dito allo switch
ovviamente invece il codice di mauro, che abilita il resistore di pullup, funziona perfettamente.
grazie a chi mi vorrà chiarire le idee
sto leggendo il VI capitolo del corso MSP430, "MSP430: Utilizzo ed impostazione delle Porte I/O".
ad un certo punto si parla di resistori di pullup/pulldown configurabili quando i pin vengono usati come ingressi.
potreste spiegare ad un perfetto ignorante come me l'utilità (o la necessità) di abilitare questi resistori? e che differenza c'è tra pullup e pulldown? (non sono un elettronico ma un semplice informatico)
da un esempio che avevo scopiazzato da qualche parte, avevo provato un codice per far accendere il led1 alla pressione del pulsante S2, ma mancava la parte del resistore di pullup e il comportamento che ottenevo era infatti imprevedibile: il led si avvicinava o spegneva semplicemente avvicinando il dito allo switch
ovviamente invece il codice di mauro, che abilita il resistore di pullup, funziona perfettamente.
grazie a chi mi vorrà chiarire le idee
Si prega Accedi o Crea un account a partecipare alla conversazione.
- fortezzadigitale
- Autore della discussione
- Visitatori
12 Anni 2 Mesi fa #2
da Matteo Garia
Risposta da Matteo Garia al topic Re: I/O e resistori di PullUp - PullDown
Bene, iniziamo il discorso dicendo che i pin di ingresso dei nostri cari microcontrollori hanno un'impedenza molto elevata, ciò significa che non assorbono corrente (in teoria).
Quindi, se si lascia un ingresso libero, collegato a nulla, esso è libero di captare tutte le interferenze del mondo circostante e quindi restituire uno stato logico incerto (0? 1? mezzo zero e mezzo uno? )
quindi quando si collega un pulsante a un ingresso si realizza un circuito con un resistore definito di PULL-UP o di PULL-DOWN a seconda del collegamento.
Dallo schema si nota che quando il pulsante non è premuto il resistore tiene l'ingresso a livello logico alto (ricordandoci che l'ingresso non assorbe corrente la cdt sul resistore è nulla), invece quando si preme l'ingresso è forzato a 0 dal pulsante, mentre una certa corrente fluisce sul resistore che si trova ora collegato a massa.
Per questo i pullup hanno solitamente valori elevati, per non far scorrere troppa corrente (fondamentale poi per risparmiare energia)
il pulldown... beh, scambia resistore e pulsante, avrai 0 a pulsante non premuto ed 1 a pulsante premuto
comunemente vedo usare più spesso il pull-up, credo per la comodità circuitale di riferire gli ingressi a massa...
Spero di esser stato chiaro
ciao!
Quindi, se si lascia un ingresso libero, collegato a nulla, esso è libero di captare tutte le interferenze del mondo circostante e quindi restituire uno stato logico incerto (0? 1? mezzo zero e mezzo uno? )
quindi quando si collega un pulsante a un ingresso si realizza un circuito con un resistore definito di PULL-UP o di PULL-DOWN a seconda del collegamento.
Dallo schema si nota che quando il pulsante non è premuto il resistore tiene l'ingresso a livello logico alto (ricordandoci che l'ingresso non assorbe corrente la cdt sul resistore è nulla), invece quando si preme l'ingresso è forzato a 0 dal pulsante, mentre una certa corrente fluisce sul resistore che si trova ora collegato a massa.
Per questo i pullup hanno solitamente valori elevati, per non far scorrere troppa corrente (fondamentale poi per risparmiare energia)
il pulldown... beh, scambia resistore e pulsante, avrai 0 a pulsante non premuto ed 1 a pulsante premuto
comunemente vedo usare più spesso il pull-up, credo per la comodità circuitale di riferire gli ingressi a massa...
Spero di esser stato chiaro
ciao!
Ringraziano per il messaggio: fortezzadigitale, elpapais
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Matteo Garia
- Moderator
Riduci
Di più
12 Anni 2 Mesi fa - 12 Anni 2 Mesi fa #3
da fortezzadigitale
Risposta da fortezzadigitale al topic Re: I/O e resistori di PullUp - PullDown
sei stato chiarissimo, grazie mille.
anche se la logica del pull-down mi sarebbe più comoda (1 a tasto chiuso, 0 a tasto aperto)
quindi se ho ben capito questi resistori di pullup/down vanno abilitati ogni qual volta un pin venga utilizzato come ingresso.
anche se la logica del pull-down mi sarebbe più comoda (1 a tasto chiuso, 0 a tasto aperto)
quindi se ho ben capito questi resistori di pullup/down vanno abilitati ogni qual volta un pin venga utilizzato come ingresso.
Ultima Modifica 12 Anni 2 Mesi fa da fortezzadigitale.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- fortezzadigitale
- Autore della discussione
- Visitatori
12 Anni 2 Mesi fa #4
da Matteo Garia
Risposta da Matteo Garia al topic Re: I/O e resistori di PullUp - PullDown
ciao
lato software è assolutamente indifferente avere un 1 o uno 0 a pulsante premuto, basta ricordarsia quale stato associare l'azione legata a quell'input
non sempre servono, ipotizza il caso in cui l'ingresso sia fornito da una porta logica, in quel caso non ci sono stati incerti (salvo particolari ic con uscita open drain)
se presenti nel micro come nel caso di un msp si abilitano da software, viceversa va montata fisicamente la resistenza nel circuito
lato software è assolutamente indifferente avere un 1 o uno 0 a pulsante premuto, basta ricordarsia quale stato associare l'azione legata a quell'input
non sempre servono, ipotizza il caso in cui l'ingresso sia fornito da una porta logica, in quel caso non ci sono stati incerti (salvo particolari ic con uscita open drain)
se presenti nel micro come nel caso di un msp si abilitano da software, viceversa va montata fisicamente la resistenza nel circuito
Ringraziano per il messaggio: fortezzadigitale, elpapais
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Matteo Garia
- Moderator
Riduci
Di più
- Messaggi: 376
- Ringraziamenti ricevuti 38
Moderatori: Mauro Laurenti, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.