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:

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.


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