Array de Inteiros

Dúvidas sobre Linguagem C para Sistemas Embarcados

Array de Inteiros

Mensagempor mateus.martignon » Seg Mar 08, 2010 10:47 am

Ola pessoal,
to com um problema muito estranho ao utilizar vetor de inteiros.
Ao tentar utilizar um vetor do tamanho que seja, meu programa simplesmente não fucniona.
exemplo:
-----------------------------------------------------------------------------------------------
#include <REG8253.H>

void main(void)
{
int teste[3]={1,2,3};

P2=teste[0];

while(1)
{
}

}

-----------------------------------------------------------------------------------------------
Mais simples que o programa acima impossível e mesmo assim ele não roda. Se eu fizer de acordo com o segundo exemplo ele funciona perfeitamente:
-----------------------------------------------------------------------------------------------
#include <REG8253.H>

void main(void)
{
int teste=1;

P2=teste;

while(1)
{
}

}

-----------------------------------------------------------------------------------------------

Isso é mto estranho, porque quando utilizava o CCS para trabalhar com PIC nunca tive esse tipo de encrenca. Estou utilizando no caso o compilador Keil uVision3 e gravando em um AT89S8253.
Alguém faz idéia do que pode estar errado.

Obrigado
Mateus Martignon S. Mendes
Engenheiro Elétrico/Eletrônico
(67) 9287-6169
mateus.martignon@gmail.com
mateus.martignon
 
Mensagens: 9
Data de registro: Sex Fev 26, 2010 7:12 pm

Re: Array de Inteiros

Mensagempor mateus.martignon » Seg Mar 08, 2010 1:35 pm

O mais estranho disso tudo é que o programa roda perfeitamente na simulação do Proteus. Até aí tudo bem...poderia ser o chip estragado mesmo, mas não pode ser porque ele roda outros programas se eu não utilizar os vetores. Basta eu declarar um array que o programa para de funcionar.
Mateus Martignon S. Mendes
Engenheiro Elétrico/Eletrônico
(67) 9287-6169
mateus.martignon@gmail.com
mateus.martignon
 
Mensagens: 9
Data de registro: Sex Fev 26, 2010 7:12 pm

Re: Array de Inteiros

Mensagempor mateus.martignon » Seg Mar 08, 2010 4:19 pm

Pessoal fiz alguns teste e vo postar aqui mais algumas informações sobre o problema..
Troquei o microcontrolador e a situação continua a mesma.
Tentei fazer uma modificação no programa e me parece que o problema é na inicialização do vetor pois implementando o programa abaixo, o mesmo funciona sem problemas.
-------------------------------------------------------
#include <REG8253.H>

void main(void)
{
int teste[3];

teste[0]=1;

P2=teste[0];

while(1)
{
}

}
-------------------------------------------------------

Agora o que eu não entendo é o porque disso. Sempre declarei um vetor já inicializando ele com valores e nunca tive problema, inclusive funciona na simulação do Proteus. Agora porque esta merd* nao funciona quando gravo no chip fisico??
Mateus Martignon S. Mendes
Engenheiro Elétrico/Eletrônico
(67) 9287-6169
mateus.martignon@gmail.com
mateus.martignon
 
Mensagens: 9
Data de registro: Sex Fev 26, 2010 7:12 pm


Retornar para Linguagem C para Sistemas Embarcados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante