Accedere ai singoli bit di una variabile C18
Ciao a tutti
Volendo ispirarmi a quanto fatto da Microchip nei file PIC18fxxxx.h, per quel che riguarda l' accesso ai singoli bit di un registro, in modo da realizzare una variabile che contenesse i flag utilizzati all' interno del programma.
Il codice da me steso è il seguente
I singoli bit vengono scritti e letti correttamente, ma, se assegno un valore alla variabile INFO e vado a controllare i singoli bit dopo l' assegnazione, nulla è cambiato.
E' come se la variabile ed i singoli bit che dovrebbero comporla siano in realtà due cose distinte.
Probabilmente sbaglio qualche cosa nel codice, ma non riesco a venirne a capo.
Grazie a tutti coloro che aiuteranno.
Ciao
Volendo ispirarmi a quanto fatto da Microchip nei file PIC18fxxxx.h, per quel che riguarda l' accesso ai singoli bit di un registro, in modo da realizzare una variabile che contenesse i flag utilizzati all' interno del programma.
Il codice da me steso è il seguente
- Codice: Seleziona tutto
unsigned char INFO;
union {
struct {
unsigned LCD:1;
unsigned UP:1;
unsigned DWN:1;
unsigned OK:1;
unsigned MN:1;
};
} INFObits;
I singoli bit vengono scritti e letti correttamente, ma, se assegno un valore alla variabile INFO e vado a controllare i singoli bit dopo l' assegnazione, nulla è cambiato.
E' come se la variabile ed i singoli bit che dovrebbero comporla siano in realtà due cose distinte.
Probabilmente sbaglio qualche cosa nel codice, ma non riesco a venirne a capo.
Grazie a tutti coloro che aiuteranno.
Ciao