Gast
#85282
Hi Experten, das Hardware TWI ist ja gut und schön, aber die Beispiele in den Datenblättern sind wohl falsch. Die meisten TWI Routinen die im Netz rumschwirren funktionien nur dann richtig wenn man auch tatsächlich am I2C Bus ein I2C Gerät angeschlossen hat. Vielleicht mal von Anfang an: Ich teste das TWI im Polling Modus. Das erste Kommando das man sendet ist die Start Kondition. In C sähe das so aus:
1 | |
2 | |
3 | |
4 | |
5 | |
So sollte es laut Datenblätter sein, und die meisten TWI Sourcen gehen auch so oder ähnlich vor. Nur !! im Falle das der I2C Bus überhaupt nicht reagiert, also zB. keine Pullups oder keine I2C Geräte angeschlossen sind, kehrt obige while Schleife NIEMALS zurück. Was natürlich die MCU virtuell in einer Endlosschleife zum Stoppen bringt. D.h. das Hardware TWI hat keinen Timeout und keine explizite Erkennung ob der I2C Bus überhaupt ansprechbar ist. Sehe ich das richtig so ?? Leider konnte ich in den Datenblättern über diesen speziellen Fall nichts finden. Gruß Hagen