Página 1 de 1

Loop For CCS

MensagemEnviado: 05 Out 2017 23:41
por vtrx
Ainda não analisei a fundo,mas alguem tem alguma idéia do porque o código abaixo não executa seguindo a lógica?
Código: Selecionar todos
 int8 KeyA[11] //
-----------
  // int8 i;
  // for(i=0; i<11 ; i++);
  //  {
  //   KeyA[i]=read_eeprom(i);
  //   delay_ms(2);
  //  }

   KeyA[0]=read_eeprom(0);
   KeyA[1]=read_eeprom(1);
   KeyA[2]=read_eeprom(2);
   KeyA[3]=read_eeprom(3);   
   KeyA[4]=read_eeprom(4);
   KeyA[5]=read_eeprom(5);   
   KeyA[6]=read_eeprom(6);
   KeyA[7]=read_eeprom(7);
   KeyA[8]=read_eeprom(8);
   KeyA[9]=read_eeprom(9);   
   KeyA[10]=read_eeprom(10);   


Usando o Looping acima,a variável KeyA[]não carrega corretamente os valores,ficam todos com o mesmo 'valor',mas usando a leitura de endereço por endereço,os valores são carregados corretamente...
Ja utilizei Delay de 2 ms,mas não alterou.

Re: Loop For CCS

MensagemEnviado: 06 Out 2017 07:39
por KrafT
Com CCS 5.036 e PIC18F4620, não há nenhum problema, conforme figura.

As varáveis foram lidas pelo debuguer após o segundo "for".

Edit: O processador está rodando a 40MHz.

Re: Loop For CCS

MensagemEnviado: 06 Out 2017 09:01
por andre_luis
Nao esta claro se sua EEPROM é interna ou externa, e se é para a familia 16F ou 18F, mas ao menos no uC que ja usei, o tempo de leitura é de 5ms á 8ms, de modo que esse 2ms que voce colocou pode não ser suficiente.

Re: Loop For CCS

MensagemEnviado: 06 Out 2017 09:04
por denis
Experimenta colocar um breakpoint dentro da função read_eeprom() e ver o parâmetro de entrada que está chegando.
Talvez trocar a variável "i" para "uint8".

Re: Loop For CCS

MensagemEnviado: 06 Out 2017 10:10
por edsont
Tira o ";" final na linha do "for"

Re: Loop For CCS

MensagemEnviado: 06 Out 2017 10:38
por KrafT
edsont escreveu:Tira o ";" final na linha do "for"


:shock: :shock: :shock: :shock:

Hehehehhe eu nem dei bola para esse "detalhe". Bela pegadinha mascarada pelas "//"

Re: Loop For CCS

MensagemEnviado: 06 Out 2017 10:59
por vtrx
Deve ser isso mesmo!
Não estou em casa agora para verificar,mas isso é que da programar meia noite com sono...

Re: Loop For CCS

MensagemEnviado: 06 Out 2017 13:21
por vtrx
Era isso mesmo...buaaaaa. :oops:

Re: Loop For CCS

MensagemEnviado: 06 Out 2017 14:36
por KrafT
vtrx escreveu:Era isso mesmo...buaaaaa. :oops:


Eu deveria ter copiado e colado teu código em vez de redigitar tudo... Mas enfim, já sabes que as rotinas da eprom interna funcionam a 40 MHz (o que dá 10 MHz na real) e não precisa delay.

Mas também não me custou nada, eu estava justamente trabalhando com um setup PIC+CCS.