Dúvida: Constantes

Software e Hardware para uC da Qualcomm, NXP, FreeScale e Motorola

Moderadores: 51, guest2003

Dúvida: Constantes

Mensagempor [Daniel] » 07 Abr 2012 16:25

Olá,

Estou usando um microcontrolador Freescale, e gostaria de usar constantes em meu código, na verdade sequencias de constantes de 8 bytes, mas agora me surgiram algumas dúvidas, se alguém por boa vontade puder me ajudar...

-como eu declaro uma sequencia de constantes e acesso os valores delas?
por ex. existe isso?

Código: Selecionar todos
const unsigned char constante[4]={0,0,0,0}; //declaro uma constante de 4 bytes

void passa_por_aqui_sempre(void)
{
        unsigned char contador=4;
        if (--contador==0) contador=4;
        var_recebe_valor=constante[contador];
}


Obrigado
Editado pela última vez por [Daniel] em 15 Mai 2012 19:48, em um total de 3 vezes.
Avatar do usuário
[Daniel]
Byte
 
Mensagens: 106
Registrado em: 18 Nov 2009 09:14

Mensagempor guest2003 » 07 Abr 2012 17:33

Daniel...

Sua matriz vai de 0 a 3... se acessar a posição 4 como você esta fazendo, a coisa pode melar :)

[]'s
http://www.sethi.com.br (Institucional)
http://www.sethi3d.com.br (Impressoras 3d)
http://www.sethi.com.br/blog (Blog Impressoras 3d)
Avatar do usuário
guest2003
Word
 
Mensagens: 746
Registrado em: 13 Out 2006 11:48
Localização: Campinas - SP

Mensagempor andre_luis » 08 Abr 2012 14:20

Do modo como voce fez, irá sempre atribuir o mesmo valor para o índice.
Também poderia otimizar alguma coisa.

Tenta algo do tipo ( pode ter erro de sintaxe, pois não foi compilado ) :

Código: Selecionar todos
const unsigned char constante[4]={0,0,0,0}; //declaro uma constante de 4 bytes

void passa_por_aqui_sempre( void )
{
        static unsigned char contador=4
        if ! (--contador )
                    contador=4;
        var_recebe_valor = constante[contador];
}



+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ


Voltar para NXP (ex-FreeScale (ex-Motorola))

Quem está online

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

x