Autor Tema: Lectura datos i2c  (Leído 985 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
Lectura datos i2c
« 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.

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Lectura datos i2c
« Respuesta #1 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
Saludos desde Huelva (ESPAÑA)

Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
RE: Lectura datos i2c
« Respuesta #2 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.

Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
RE: Lectura datos i2c
« Respuesta #3 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.


 

anything