Originariamente inviato da c0der
Ponendo che il tuo registro sia abbastanza grande da contenere 9 bit (io ho ecceduto e ho usato un int)
per settare a 1 un qualunque bit (in questo caso il nono) puoi usare:
Ciao.codice:#include <stdio.h> int main() { int maschera = 0; printf("maschera: %d\n", maschera); // setto a 1 il nono bit maschera |= 1 << 8; printf("maschera: %d\n", maschera); return 0; }
Ciao e grazie mille per la risposta... allora,io sto gestendo LA COMINUCAZIONE SERIALE 8-E-1 di un uC, il PIC18F4450; il mio professore vuole che venga calcolato il bit di parità; nel flag del trasmettitore e ricevitore ho già attivato la trasmissione e ricezione con il 9bit di parità.
Quindi, dopo vari passaggi il mio registro ADRESH dovrebbe avere 9 bit, giusto?
Con questo tuo metodo maschera |= 1 << 8; in poche parole che succede? Perchè stai facendo la OR? Scusa le mie domande stupide![]()

... allora,io sto gestendo LA COMINUCAZIONE SERIALE 8-E-1 di un uC, il PIC18F4450; il mio professore vuole che venga calcolato il bit di parità; nel flag del trasmettitore e ricevitore ho già attivato la trasmissione e ricezione con il 9bit di parità.
Rispondi quotando