Je sais que le problème a déjà traité maintes fois, mais je n’arrive pas la résoudre…
J’ai un script python sur Raspberry qui communique avec une carte en I2C et j’ai toujours cette Errno 121 Remote I/O error…
Dans le terminal j’ai essayé la commande sudo i2cdetect -y 1 et ma carte est bien détecté sur 0x60
J’ai essayé en retirant les pull up de ma carte mais le problème reste le même…
Souvent, il semblerait que ce soir une erreur assez générique et qu’il faille vérifier/modifier/tester la partie matérielle, encore et encore.
Problème de connexion, longueur de fils, résistances de pullup, niveau de tension ou encore au pire du circuit I2C.
Je suppose que vous avez déjà exploité ces pistes ?
Merci pour le retour.
Je viens de réduire la longueur de fil, j’ai un peu moins de 15cm.
Les pullup de ma carte sont retirées, il y a juste celle du raspberry.
J’ai checké la fréquence, elle était à 62KHz, j’ai fouillé et trouvé qu’avec une histoire de clock interne il y a avait un facteur 1.6 là dessus, j’ai donc configuré à 160KHz, et là j’ai bien 100KHz.
Les signaux sont bien à 3V3.
Résultat identique…
Je ne comprends pas. Je vais essayer de raccourcir encore les fils…
J’ai analysé la trame que j’envoyais, je n’avais pas de ack de l’esclave, je n’avais pas la bonne adresse de communication… merci les doc.
Merci pour votre aide en tout cas!
Bravo, c’est pas du dépannage basique .
Vous avez du matériel spécialisé pour faire ce genre d’analyse ?
Pouvez vous nous dire en qqs mots avec quoi et comment on procède ?
Merci.
Yes, je suis ingénieur électronicien, pas le choix pour analyser physiquement ce qu’il se passe sur les lignes, faut un oscilloscope 2 voies, minimum 1MHz pour analyser à 100KHz le bus I2C, 4MHz pour du 400KHz.
En tout cas c’est bon à savoir qu’un problème dans l’adressage retournera ce type d’erreur.