TODOPIC

FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: rferrero en 10 de Noviembre de 2004, 06:02:00

Título: Lectura datos i2c
Publicado por: rferrero en 10 de Noviembre de 2004, 06:02:00

Hola a todos. TEngo un sensor SRF08 http://www.superrobotica.com/S320112.htm medidor de distancias vía i2c. El asunto es que consigo escribir perfectamente la dirección del mismo (0xE0), en los registros y los datos correspondientes. El asunto es leer el byte alto y bajo, resultado de la medición.
Tengo el programa en C y he usado las funciones del compilador y nada. Y funciones propias, hechas a partir del funcionamiento del protocolo i2c y tampoco!! Si dejo menos de 65 ms para la realización de la medida, sale -1. Si dejo más, sale 0. Incluso he pasado a C un programa en ASM de www.microcontroladores.com, usando dicho sensor, pero no hay forma!!  loco
Para algunos elementos he visto que, para el pcf8574, había que poner las entradas a nivel alto y demás. Aquí no pone nada.
Alguien sabe a qué puede deberse?? Qué señales del i2c deben controlarse con más atención, pues?? Se debe a tiempos?? Dónde??

MUCHAS GRACIAS. Un saludo.

Rubén.
Título: RE: Lectura datos i2c
Publicado por: cucaracha en 10 de Noviembre de 2004, 10:59:00
tienes puestas las pull-up en el bus I2C verdad?? Es lo que se me ocurre...

Saludos
Título: RE: Lectura datos i2c
Publicado por: rferrero en 10 de Noviembre de 2004, 13:03:00

   Gracias! Sí, están puestas. Giño
   Me resulta muuuuy extraño. El caso es que leyendo un registro, el 0x00, se tiene el firmware o versión. Y eso lo consigo sin problemas!!! El resultado es 6. Sale bien y sin problema alguno. Pero realizar la medición y demás, nada.

    Un saludo.
Título: RE: Lectura datos i2c
Publicado por: rferrero en 28 de Noviembre de 2004, 05:42:00

   Bueno, pues como no podía ser de otra manera, no funcionaba por una tontería. Había un diodo puesto para inversión de polaridad (por si acaso) y ahí había una caída de tensión, por lo que al micro le llegaban 4.3 V y no leía bien el dichoso sensor. Subí un poco la tensión de alimentación y arreglado.
 
    Gracias! Un saludo.