STRUCT BIN KEIL

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

STRUCT BIN KEIL

Mensagempor fabim » 12 Ago 2009 13:32

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
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Sergio38br » 12 Ago 2009 14:03

nas opções do projeto vc determina se é Little endian (lsb a direita) ou Big endian(lsb a esquerda).

[ ]'s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor fabim » 12 Ago 2009 14:09

Sergio38br escreveu:nas opções do projeto vc determina se é Little endian (lsb a direita) ou Big endian(lsb a esquerda).

[ ]'s
Sergio

A sim, isso eu ja vi.
A pergunta é sobre a struct.
O label mais alto "1°" faz mensão ao bit15 ou 0 de uma int ?

Porque esta struct vai estar unida a uma int REG_TRANSF;

E antes de sair da rotina de inicialização, eu simplesmente.

S0SPCR = REG_TRANSF;


Obrigado

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?


Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x