STRUCT BIN KEIL

Peguei um costume feio de criar bibliotecas para funções, por causa da portabilidade de um compilador para o outro.
Estudando aqui, mais aprofundado a SPI0 & SPI1.
O registrador da SPI0 por exemplo, com nome:
S0SPCR
Ele é uma int, qual existe seleção binaria pelos nomes.
Como eu odeio toda vez ficar S0SPCR |= X, ou S0SPCR |= 1<<Y.
Eu crio uma rotina..
void Spi0_init(aqui eu coloco as diretivas de inicialização){
minha struct{
nome1 : 1;
nome2 : 1;
....
...
Nome5 : 4;
Sucessivo
}
dentro desta rotina, eu vou pegando os valores passados como parametro que podem ser tratados como boolean, ou valores como por exemplo numero de bits de 8 a 16.
A duvida.
No keil, quando eu crio uma struct binaria a qual vai alocar 2 bytes.
os nomes de cima para baixo, vão alocar " A INT" do msb para lsb ou ao contrario ?
Estou batendo a cabeça a 1 hora e ainda não cheguei em um concenso.
Abraços
Fabim
Estudando aqui, mais aprofundado a SPI0 & SPI1.
O registrador da SPI0 por exemplo, com nome:
S0SPCR
Ele é uma int, qual existe seleção binaria pelos nomes.
Como eu odeio toda vez ficar S0SPCR |= X, ou S0SPCR |= 1<<Y.
Eu crio uma rotina..
void Spi0_init(aqui eu coloco as diretivas de inicialização){
minha struct{
nome1 : 1;
nome2 : 1;
....
...
Nome5 : 4;
Sucessivo
}
dentro desta rotina, eu vou pegando os valores passados como parametro que podem ser tratados como boolean, ou valores como por exemplo numero de bits de 8 a 16.
A duvida.
No keil, quando eu crio uma struct binaria a qual vai alocar 2 bytes.
os nomes de cima para baixo, vão alocar " A INT" do msb para lsb ou ao contrario ?
Estou batendo a cabeça a 1 hora e ainda não cheguei em um concenso.
Abraços
Fabim