Leggere singoli bit con byte() ?

Se volessi leggere i bit di un numero che non supera gli 8 bit, dite che posso usare in combinazione bitRead con byte() in questo modo ?

for (int i = 0; i < 7; i++)

{ char bitt = bitRead ( byte(numero), i ) ; }

Dove, mi sembra, che byte(numero,i) dovrebbe trasformare “numero” in byte o no ?

ciao blecmur,

con bitRead(x,n) verifichi il BIT n della variabile x ed hai come ritorno il suo stato…cioè 0 od 1.

con byte(variabile) fai un cast della variabile da qualsiasi formato in byte.

non capisco perchè salvi il ritorno di bitRead in una char!?

Lo scopo sarebbe quello di accendere i segmenti di un display a 7 segmenti e visualizzarne la cifra.

Tempo fa avevo copiato online qualcosa e modificato, togliendo quache funzione, in cui venivano passati dei parametri, e sostanzialmente questo è quel che è rimasto e che coinvolge quella CHAR di cui dici, ma che proviene paro paro dalla codifica che avevo copiato

///////////
const int segs[7] = { A, B, C, D, E, F_SEG, G };

const byte numbers[10] = { 0b1000000, 0b1111001, 0b0100100, 0b0110000, 0b0011001, 0b0010010,
0b0000010, 0b1111000, 0b0000000, 0b0010000
};

for (int i = 0; i < 7; i++) {

char bitt = bitRead(byte(numbers[N % 10]), i);

digitalWrite(segs*, bitt);*

  • }*