[Resolu]Adresse I2C reelle

Des infos, des conseils sur les bus DSI,CSI, I2C, SPI... du Raspberry Pi

Modérateur : Francois

Répondre
fabrice
Messages : 5
Enregistré le : mar. 10 mars 2015 15:11

[Resolu]Adresse I2C reelle

Message par fabrice » mar. 10 mars 2015 16:29

Hello,

j'ai acquis une sonde de température/pression BMP180,
qui marche parfaitement sur mon raspberry grâce à la librairie en python de chez adafruit.

Toutefois, je souhaite utiliser cette sonde à distance via des modules wixel (un petit circuit qui fait des communications radio) qui ne dispose pas de bibliothèques de haut niveau, mais juste de fonctions i2cread/write.
(et en plus c'est pas aussi simple de debugger sur un wixel que sur un pi !)

C'est là que mes problèmes commencent, quand j'utilise i2cdetect, je trouve la sonde à l'adresse 0x77.
Si j'ai bien compris le protocol i2c, un périphérique utilise une adresse paire pour écrire, et une adresse impaire pour lire.
De plus la datasheet de la sonde indique une adresse en 1110111[0|1] soit EE ou EF.

Il y a donc quelque chose qui m'échappe soit à propos de I2C, soit de la façon dont c'est implémenté via les i2ctools du pi.

Quelqu'un par ici saurait-il m'éclairer sur le sujet ?

Merci d'avance !
Modifié en dernier par fabrice le mer. 11 mars 2015 14:52, modifié 1 fois.

fabrice
Messages : 5
Enregistré le : mar. 10 mars 2015 15:11

Re: Adresse I2C reelle

Message par fabrice » mer. 11 mars 2015 13:58

Comme d'hab il suffit de réfléchir un peu pour trouver la réponse en fait !

les adresses I2C sont sur 7 bits
=> 0x77 en binaire ca donne : 1110111

mais lorsque l'on utilise des fonctions i2c de bas niveau (quand on écrit direct sur le bus),
il faut rajouter un bit pour indiquer que l'on veut lire (bit à 1), ou écrire (bit à 0) donc
=> 11101110 ou 11101111 ça donne 0xEE ou 0xEF, l'adresse qui est précisée dans la doc !

Donc le i2cdetect retourne la bonne adresse, mais sur 7 bits ...

Et voilà, en espérant que cela puisse servir à quelqu'un d'autre.

une bonne doc pour I2C : http://www.robot-electronics.co.uk/acat ... orial.html

Répondre

Retourner vers « Les BUS interfaces »