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?))