Problemas con el i2c para leer un ds1302 con leng c

#1
quiero leer un ds1302 por i2c con un pic, pero mi mc no funciona mi codigo, se supone que con solo pogramar lo sig, yo deberia ver los pulsos que el pic le entrega a l reloj.. pero no veo nada, alguien podria orientarme a saber como probarlo? saludos

Soft_I2C_Config(&PORTD, 4, 3); //
Soft_I2C_Start(); //
Soft_I2C_Write(0x8E); // COMANDO DE ESCRITURA
Soft_I2C_Write(0); //
Soft_I2C_Write(0x80); // DIRECCION DE ESCRITURA SEGUNDOS
Soft_I2C_Write(0); // ESCRIBE UN CERO
Soft_I2C_Write(0); //
Soft_I2C_Stop(); // STOP I2C
 
#2
bueno voy a ser mas descriptivo a ver si alguien puede aportar: quiero extraer información de un reloj de tiempo real ds1302, utilizando el codigo de arriba. he leido bastante y endiendo que se nesecitan 2 señales scl y sda.... lo quiero desarrollar en lenguaje c, estoy pensando que cuando le doy las primeras dos lienas al pic
soft_I2C_Config(&PORTD, 4, 3); //
Soft_I2C_Start(); //
el pic debe generar una señal que es la señal de scl... esto lo deberia ver en el osciloscopio pero no pasa asi... yo creo que ese es el primer paso para comenzar a probar mi comunicacion i2c!

corrijanme porfavor si ando mallll...
saludos
 
#3
Cordial saludo

quisiera saber que compilador utilizas para poder generar el codigo, yo tengo los de mikroelectronica en versiones de C y Basic pero hasta el momento me han ido super bien.

Cabe destacar que estos compiladores traen librerías bien hechas y con muchos ejemplos y creo que traen un ejemplo con un RTC pero no se que referencia es PCF xxxx.



saludos.
 
#4
hola buenas tardes!

asi es utilizo el compilador de mikro C de la empresa de mikroelektronika, el cofigo que cito arriba pertenece a ese compilador!
se supone que tambien tiene las librerias pero aun asi no me funciona!
saludos y gracias por tu ayuda buen hombre!
 
#5
Soft_I2C_Config(&PORTD, 4, 3); //
Soft_I2C_Start(); //
Soft_I2C_Write(0x8E); // COMANDO DE ESCRITURA
Soft_I2C_Write(0); //
Soft_I2C_Write(0x80); // DIRECCION DE ESCRITURA SEGUNDOS
Soft_I2C_Write(0); // ESCRIBE UN CERO
Soft_I2C_Write(0); //
Soft_I2C_Stop(); // STOP I2C
 

Temas similares

Arriba