Bonjour à tous,
j'essaye de faire fonctionner l'I2C entre un microcontroleur Renesas M16C/29 et une EEPROM 24LC256, tout semble être envoyé correctement mais l'EEPROM ne relache pas SDA à la fin de la 9eme impulsion d'horloge:
Du coup la condition STOP ne peut pas être envoyée correctement et le microcontroleur bloque.
Même sans connaître le M16C/29, est-ce que quelqu'un a une idée de ce qui pourrait empècher l'EEPROM de laisser SDA repasser à 1?
Si j'effectue plusieurs transmissions en déconnectant SDA de l'EEPROM et que je reconnecte ce signal, j'arrive à communiquer par la suite avec l'EEPROM sans problème (jusqu'à la prochaine mise sous tension de mon montage).
J'ai essayé avec d'autres EEPROMs (24C65, 24C512) et le problème persiste.
J'ai essayé de réduire le débit I2C mais ça n'arrange rien.
Au cas ou quelqu'un ici connaîtrait la famille M16C/Tiny, j'utilise le microcontroleur en mode I2C simple. J'aurai pu créer mes fonctions de communication I2C en soft mais comme c'est géré en hard, je ne vois pas pourquoi je devrais tout refaire. Je peux poster le code si ça peut servir à résoudre mon problème.
-----