Página 1 de 1

Problemas E2p Externa - CCS/Proteus

MensagemEnviado: 21 Abr 2007 17:11
por zielpunkt
Olá, pessoal.

Estou debugando um código C/CCS no Proteus, utilizando o driver '24128.C' para tratar uma eeprom externa. Após inicialização do driver (init_ext_eeprom()), eu não conseguia gravar '0' no endereço apontado pela constante ext_eeprom_index e só consegui fazer isso após inserir um delay de, no mínimo, 4ms antes de gravar. Segue um trecho do código (o printf é só para verificar o resultado desse caso):

Código: Selecionar todos
   init_ext_eeprom();
   delay_ms(4); // <- Aqui é a dúvida...
   write_ext_eeprom(ext_eeprom_index, 0);// inicializa indice na ext eeprom
   printf("%X\r\n",read_ext_eeprom(ext_eeprom_index)); //DEBUGGING...


Acontece que esse delay acaba me complicando. Estabilização das linhas I2C (o driver utiliza #use i2c(...) nativo do compilador)? Mas não seria um delay muito longo pra isso? Andei interpretando o driver e não vi ali nada que justifique tanto delay. Ou esse problema ocorreria pelo simulador? Afinal: Pra que esse delay??? Em tempo: ainda não montei o hardware, então.... Bem, se alguém puder ajudar, agradeço.

Abços.