COMUNICAÇÃO I2C NO MIKRO C

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Re: COMUNICAÇÃO I2C NO MIKRO C

Mensagempor Pask » 09 Jul 2015 15:21

O problema acontece na simulação com o Proteus. Não grava nada na eeprom. Segue o código abaixo:

cpp code
char temp;
void main()
{
trisb = 0;
portb = 0;
i2c1_init(100000); // initialize I2C communication

while(1)
{ //escrita
i2c1_start(); // I2C start signal
i2c1_wr(0xA0); // send byte via I2C (device address + W) => 1010 000 0
i2c1_wr(0x00); // send byte (address of EEPROM location)
i2c1_wr(0x01); // send data (data to be written)
i2c1_stop(); // I2C stop signal

delay_ms(50);

//leitura
i2c1_start(); // I2C start signal
i2c1_wr(0xA0); // send byte via I2C (device address + W) => 1010 000 0
i2c1_wr(0x00); // send byte (address of EEPROM location)
i2c1_repeated_start(); // I2C signal repeated start
i2c1_wr(0xA1); // send byte (device address + R) => 1010 000 1
temp=i2c1_rd(0); // Read the data (NO acknowledge)
i2c1_stop(); // I2C stop signal
}
}


Já tentei tudo que vocês sugeriram.
A propósito, a opção "Notificar-me quando for respondida" está marcada mas a notificação não chega!
Pask
Word
 
Mensagens: 600
Registrado em: 22 Dez 2006 19:19

Re: COMUNICAÇÃO I2C NO MIKRO C

Mensagempor xultz » 09 Jul 2015 15:34

O Proteus tem um analisador lógico de I2C, pendura ele na linha e veja o que está sendo transmitido, esse analisador já me salvou uma vez.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: COMUNICAÇÃO I2C NO MIKRO C

Mensagempor Pask » 09 Jul 2015 16:04

Realmente o analisador lógico do Proteus fez a coisa funcionar. Ao retirá-lo do circuito não funcionou mais. Então, eu entendi o que estava acontecendo. As linhas SDA e SCL estavam sem dois capacitores de 200pF que devem ser ligados entre cada uma delas e o GND do circuito. Foi só acrescentar esses capacitores e tudo funcionou. Realmente, o datasheet menciona a possibilidade de ter que colocá-los para uma correta operação do tráfego de dados nas memórias eeproms. Eu só não imaginei que o Proteus fosse tão exigente!

Continuo não recebendo as notificações de respostas! Está faltando algum capacitor neste fórum também.... :D
Pask
Word
 
Mensagens: 600
Registrado em: 22 Dez 2006 19:19

Re: COMUNICAÇÃO I2C NO MIKRO C

Mensagempor tcpipchip » 09 Jul 2015 16:21

As rotinas i2c do Mikro C funcionam bem.

Qual o modelo da EEPROM que voce esta utilizando ?
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: COMUNICAÇÃO I2C NO MIKRO C

Mensagempor Pask » 09 Jul 2015 17:27

É a 24C02.
Pask
Word
 
Mensagens: 600
Registrado em: 22 Dez 2006 19:19

Re: COMUNICAÇÃO I2C NO MIKRO C

Mensagempor tcpipchip » 10 Jul 2015 09:07

Manda esquema eletrico.

No proteus voce colocou o componente PULLUP ???

Ou colocou um resistor ?

PS: colocou o I2C ANALYSER ?
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: COMUNICAÇÃO I2C NO MIKRO C

Mensagempor Pask » 10 Jul 2015 16:33

Gostaria de pedir desculpas pela demora nas respostas. O problema é que eu não estou recebendo as notificações das respostas a este tópico.
O circuito tem 3 botões e os respectivos resistores de pull-up e pull-down dos botões. Também tem um led que pisca quando o botão ERASE é pressionado.
Coloquei o analisador lógico sim e está tudo ok. Estavam faltando apenas os dois capacitores nas linhas SDA e SCL para estabilizar a comunicação serial entre o MCU e a memória.

Um botão de ERASE que apaga todo o conteúdo da memória;
Um botão de WRITE para escrever o conteúdo desejado na memória;
Um botão de READ para ler o conteúdo desejado da memória.

Segue o esquemático e obrigado a todos pela ajuda.
Você não está autorizado a ver ou baixar esse anexo.
Pask
Word
 
Mensagens: 600
Registrado em: 22 Dez 2006 19:19

Anterior

Voltar para PIC

Quem está online

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

x