TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: piriots en 07 de Septiembre de 2005, 11:06:00

Título: Recivir dato en I2c, no coincide con el enviado
Publicado por: piriots en 07 de Septiembre de 2005, 11:06:00
Buenas!! Ahora estoy mandando info del slave al master, el problema es que cuando la variable que mando tiene un valor superior a 60, el numero que recivo no es el que he enviado, por ejemplo si envio un 70 recivo un 198Enfurruñado Alguien me puede explicar a que es debido esto??? Puede estar relacionado con las variables??

Salu2
Título: RE: Recivir dato en I2c, no coincide con el enviado
Publicado por: todopic en 07 de Septiembre de 2005, 11:40:00
Hola, si ver el programa, creo que es por la cantidad de bits... es decir, el tx debe estar en 7 y la rx estara en 8.... puede ser?
porque la diferencia en tu error es de 128
y 70 es.....1000110
y 198 es 11000110

como vez el bit de peso 128 se agrega.....

nos comentas que descubres....

Norberto
Título: RE: Recivir dato en I2c, no coincide con el enviado
Publicado por: piriots en 07 de Septiembre de 2005, 12:30:00
Para ver las tramas de bytes estoy usando el i2c debugger que va incluido con el proteus 6.7 y es el mismo slave el que envia la info con este 1 de mas. En el buffer de i2c hay un 70, y el slave  es el que manda un 198 hacia el master.
Título: RE: Recivir dato en I2c, no coincide con el enviado
Publicado por: adrian2a1 en 07 de Septiembre de 2005, 13:04:00
A mi me pasa una cosa parecida, cuando utilizo un PIC16F87X como esclavo. Después de múltiples pruebas he llegado a la conclusión que es un fallo del I2C debugger solo en estas circunstancias con el PIC como esclavo, porque el circuito funciona conforme a todas las especificaciones excepto el I2C debuger no muestra lo que debiera. Además cuando monto el circuito en la realidad funciona correctamente.

Saludos.
Título: RE: Recivir dato en I2c, no coincide con el enviado
Publicado por: piriots en 07 de Septiembre de 2005, 13:14:00
Entonces crees que es error del proteus??? Bueno pues en un momento cojo la entrenadore del 16f876 y el 16f877 que son los que estoy usando, pruebo fisicamente y os digo a ver que pasa.

Salu2
Título: RE: Recivir dato en I2c, no coincide con el enviado
Publicado por: piriots en 07 de Septiembre de 2005, 13:40:00
Pues teias toda la razon adrian, es un bug de proteus, lo he probado fisicamente y funciona perfectamente.

Salu2 y gracias
Título: RE: Recivir dato en I2c, no coincide con el enviado
Publicado por: Nocturno en 08 de Septiembre de 2005, 02:46:00
Por este tipo de razones desinstalé Proteus Ardiendo
Título: RE: Recivir dato en I2c, no coincide con el enviado
Publicado por: adrian2a1 en 08 de Septiembre de 2005, 11:24:00
Pues amigo Nocturno permiteme que te diga que has hecho muy mal. Proteus es un gran programa de simulación, yo lo utilizo a diario en mis proyectos y me ayuda muchísimo, pero siendo consciente de sus limitaciones. Si algo que debía funcionar en Proteus, no lo hace, pues lo monto y lo compruebo, pero eso ocurre en contadas ocasiones.

A mí Proteus me ahorra muchísimo tiempo de trabajo.

Un saludo.

Adrian.
Título: RE: Recivir dato en I2c, no coincide con el enviado
Publicado por: Nocturno en 08 de Septiembre de 2005, 11:28:00
Está claro que para gustos ... los colores. Me alegro que tú lo utilices en tus proyectos, pero yo no volveré a tropezar con él.