Ich verwende diesen Mikrocontroller S32K142 64 Pin.
Im Referenzhandbuch kann ich viele Pins sehen, von denen ich annehme, dass sie nur Ausgänge sind, die als Eingang / Ausgang erwähnt werden. Beispielsweise ist der Mikrocontroller die Master-I2C-Uhr. In diesem Fall kann die Uhr also nur ausgegeben werden, oder? Aber warum wird es als I/O angegeben?
Die meisten I2C-Geräte erlauben Clock-Stretching , wodurch der Slave etwas „verlangsamen“ kann, wenn er die vom Master erzeugte SCLK-Geschwindigkeit nicht einholen kann.
Der Slave tut dies, indem er die SCLK-Leitung nach dem Empfangen/Senden eines Bytes nach unten dehnt (der Master gibt zu diesem Zeitpunkt die Kontrolle über SCLK auf). Der Slave zieht den Takt zurück auf High, wenn er bereit ist, das nächste Byte zu verarbeiten. Der Master erkennt dies und übernimmt wieder die Steuerung von SCLK, und die Kommunikation wird fortgesetzt.
In solchen I2C-Geräten muss SCLK auch eine bidirektionale Leitung sein (Open-Drain/Open-Collector).
Da es sich auch um einen I/O-SCLK-Pin handelt, bietet dies die Flexibilität, das I2C-Gerät entweder als Master/Slave zu konfigurieren.
Wouter van Ooijen
Nur ich
Wouter van Ooijen