- Messaggi: 34
- Ringraziamenti ricevuti 0
SPIEGAZIONE ESEMPIO FREEDOM II
8 Anni 7 Mesi fa #1
da razile21
SPIEGAZIONE ESEMPIO FREEDOM II è stato creato da razile21
Non riesco a capire la logica:(pag.210 xc8)
le costanti che determinano il valore di PORTB, alla pressione dei tasti:
#define BT1 0b11100000
#define BT2 0b11010000
#define BT3 0b10110000
#define BT4 0b01110000
È possibile vedere che il pulsante BT1 equivale a porre a 0 il bit 5 ovvero RB4.(Perchè lo poni a zero visto che il pulsante deve essere un input?)
Questo è dovuto al fatto che il pulsante ha un resistore di pull-up ovvero quando è aperto il pin
RB4 viene letto come 1, mentre premendo il pulsante, ovvero collegando il pin RB4 a
massa, RB4 viene letto come 0. All'interno del ciclo viene letta la PORTB e vengono azzerati i 4
bit meno significativi:
button = PORTB;
button = button & 0xF0;
La ragione per cui si azzerano i 4 bit meno significativi discende dal fatto che i pin non
utilizzati della PORTB, ovvero i quattro bit meno significativi, sono definiti come input.(ribadisco:i pulsanti li usi come input, non dovresti metterli a 1?))
le costanti che determinano il valore di PORTB, alla pressione dei tasti:
#define BT1 0b11100000
#define BT2 0b11010000
#define BT3 0b10110000
#define BT4 0b01110000
È possibile vedere che il pulsante BT1 equivale a porre a 0 il bit 5 ovvero RB4.(Perchè lo poni a zero visto che il pulsante deve essere un input?)
Questo è dovuto al fatto che il pulsante ha un resistore di pull-up ovvero quando è aperto il pin
RB4 viene letto come 1, mentre premendo il pulsante, ovvero collegando il pin RB4 a
massa, RB4 viene letto come 0. All'interno del ciclo viene letta la PORTB e vengono azzerati i 4
bit meno significativi:
button = PORTB;
button = button & 0xF0;
La ragione per cui si azzerano i 4 bit meno significativi discende dal fatto che i pin non
utilizzati della PORTB, ovvero i quattro bit meno significativi, sono definiti come input.(ribadisco:i pulsanti li usi come input, non dovresti metterli a 1?))
Si prega Accedi o Crea un account a partecipare alla conversazione.
- razile21
- Autore della discussione
- Junior Member
Riduci
Di più
8 Anni 7 Mesi fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic SPIEGAZIONE ESEMPIO FREEDOM II
I valori BT1...BT4 non sono usati per impostare il valore del registro TRISB ma sono solo delle costanti che rappresentano il valore di PORTB quando viene premuto il relativo pulsante.
Saluti,
Mauro
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
8 Anni 7 Mesi fa #3
da alfa75
Risposta da alfa75 al topic SPIEGAZIONE ESEMPIO FREEDOM II
Ciao
ti rispondo io
le costanti si riferiscono alla lettura del pin (PORTB) ,non alla "direzione del pin" ingresso o uscita per intenderci
ti rispondo io
le costanti si riferiscono alla lettura del pin (PORTB) ,non alla "direzione del pin" ingresso o uscita per intenderci
Si prega Accedi o Crea un account a partecipare alla conversazione.
- alfa75
- Platinum Member
Riduci
Di più
- Messaggi: 527
- Ringraziamenti ricevuti 86
8 Anni 7 Mesi fa - 8 Anni 7 Mesi fa #4
da razile21
Risposta da razile21 al topic SPIEGAZIONE ESEMPIO FREEDOM II
Grazie mauro e alfa. .. Ieri sera era tardino... L'ho capito quando ho staccato di aver confuso le cipolle con l'aglio...
Ultima Modifica 8 Anni 7 Mesi fa da razile21.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- razile21
- Autore della discussione
- Junior Member
Riduci
Di più
- Messaggi: 34
- Ringraziamenti ricevuti 0
Moderatori: Mauro Laurenti, StefA
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.