Sei un po' confuso sui tipi di dato ...
Un char non può contenere il valore B1 o B0, etc ...
Inoltre credo che a port non debba essere assegnato il valore A ma il carattere 'A' (ma questa è una piccolezza)...
Naturalmente potrei sbagliarmi: se ad esempio A è una costante come pure B0, etc.
In questo caso non ti resta che postare il codice completo oppure tutto il main con tutte le costanti globali e le macro ...
codice:struct io { char port; char bit; }; struct io conf = {'A', 4}, en = {'A', 5}, oimp = {'A', 0}, film = {'A', 1}; //Questa è la funzione: char read(struct io x) { char ret=0; switch(x.port) { case 'A': ret=(PINA &x.bit); break; case 'B': ret=(PINB & x.bit); break; case 'C': //ret=(PINC & x.bit); break; case 'D': //ret=(PIND & x.bit); break; } return ret; }

Rispondi quotando