- Codice: Seleziona tutto
//uint8_t è un alias per unsigned char di fatto.
void EnableLine(uint8_t line_n){
if(line_n>=8){
//Qui va deciso il comportamento in caso di errore nei dati di ingresso.
//Dipende dalla tua applicazione specifica
}
else{
uint8_t p_1,p_2,p_3;
p_1=line_n&1; //Il primo bit del numero è il valore della linea p_1
line_n=line_n>>1; //Shift del numero di una posizione a "destra".
p_2=line_n&1; //Il secondo bit del numero (diventato il primo dopo >>1) è il valore della linea p_2
line_n=line_n>>1; //Shift del numero di una posizione a "destra".
p_3=line_n&1; //Il terzo bit del numero (diventato il primo dopo >>1) è il valore della linea p_3
//Ed ora fa quello che devi con questi tre valori, p_1, p_2 e p_3
}
}
Se non ti sono chiari gli operatori bit a bit e di shift ti consiglio di leggere come funzionano perché molto usati.
Le tre variabili poi non sono nemmeno necessarie, quindi in memoria (almeno potenzialmente) non richiede nessun dato se non il parametro passato alla funzione.

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)



