Página 1 de 1

I2C no mikroC não funciona

MensagemEnviado: 18 Fev 2018 13:20
por Ricopontes
Tenho o seguinte código em MikroBasic funcionando perfeitamente:
vbnet code
'LE PCF8574
Sub procedure RDP
delay_ms(50)
I2C1_Start
I2C1_Wr(0x41)
I2C1_stop
Delay_MS(50)
End Sub

'ESCREVE PCF8574
Sub procedure wrt
delay_ms(50)
I2C1_Start
I2C1_Wr(0x42)
I2C1_Wr(CC)
I2C1_stop
Delay_MS(50)
End Sub


e este em MikroC não funciona de jeito nenhum. Envio o código de endereço + leitura e ele retorna o que enviei, isto é , 0x41

cpp code
void RDP()
{
delay_ms(50);
I2C1_Start;
I2C1_Wr(0x41);
CCA=I2C1_Rd(0);
I2C1_stop;
delay_ms(50);
}

void WRT()
{
delay_ms(50);
I2C1_Start;
I2C1_Wr(0x42);
I2C1_Wr(CC);
I2C1_stop;
delay_ms(50);
}


Onde estou errando?

A propósito estou usando um PIC18F4620 e o PCF8574 .

Re: I2C no mikroC não funciona

MensagemEnviado: 20 Fev 2018 08:03
por tcpipchip
veja se os 2 mikroe datam do mesmo periodo

Re: I2C no mikroC não funciona

MensagemEnviado: 20 Fev 2018 13:48
por Ricopontes
Os dois são PRO.

Imagem
https://eletronicarpc.wixsite.com/eletronicarpc

A imagem é o MikroC rodando.
A primeira imagem é na primeira volta do loop. Funciona ok. Após dois segundos ele roda de novo e aí o resultado é a segunda imagem. A sincronização está errada logo o PCF não responde.
Observei que no nono pulso do clock , na primeira imagem, o dado é zero e na segunda imagem é um!
É o mesmo programa. Estou Confuso.

Re: I2C no mikroC não funciona

MensagemEnviado: 25 Fev 2018 11:32
por tcpipchip
Eu uso mikroc em sala de aula com i2c e funciona 100%