Hola a tod@s, estoy comunicando la raspberry con un chip de entradas / salidas por i2c y tengo el siguiente problema.
Cuando uso la liberia i2c-tool de la propia raspberry todas las lecturas / escrituras me mueve un bit a la derecha y me añade un '0' en el MSB. Es decir , cuando quiero saber la direccion del circuito i2c que tengo conectado a la raspberry, uso el 'i2cdetect' y el comando me devuelve un 0x2C->(00101100), en cambio yo se (por el pdf del C.I.) que su direccion es la 0x58 -> (0101 1000)
Lo que esta ocurriendo es que no se porque, el 0x58 (0101 1000) lo está desplazando un bit a la derecha y esta añadiendo un '0' en el MSB. Esto lo he comprobado con el osciloscopio y cuando intento escribir un byte con el comando i2cset, tambien me despplaza el byte un bit a la derecha añadiendo un '0' en el bit mas sifnificadtivo. Es decir si quiero escribir un 0xF0 -> (1111 0000) cuando miro la linea SDA en el osciloscopio respecto a la de CLK lo que esta enviando por i2C es un (0111 1000) y me es imposible poder comunicar.
Alguien ha tenido el mismo problema?
Gracias por vuestro tiempo y un saludo
Cuando uso la liberia i2c-tool de la propia raspberry todas las lecturas / escrituras me mueve un bit a la derecha y me añade un '0' en el MSB. Es decir , cuando quiero saber la direccion del circuito i2c que tengo conectado a la raspberry, uso el 'i2cdetect' y el comando me devuelve un 0x2C->(00101100), en cambio yo se (por el pdf del C.I.) que su direccion es la 0x58 -> (0101 1000)
Lo que esta ocurriendo es que no se porque, el 0x58 (0101 1000) lo está desplazando un bit a la derecha y esta añadiendo un '0' en el MSB. Esto lo he comprobado con el osciloscopio y cuando intento escribir un byte con el comando i2cset, tambien me despplaza el byte un bit a la derecha añadiendo un '0' en el bit mas sifnificadtivo. Es decir si quiero escribir un 0xF0 -> (1111 0000) cuando miro la linea SDA en el osciloscopio respecto a la de CLK lo que esta enviando por i2C es un (0111 1000) y me es imposible poder comunicar.
Alguien ha tenido el mismo problema?
Gracias por vuestro tiempo y un saludo