Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| microcontrollertechnik:11_i2c_schnittstelle [2024/08/29 19:37] – mexleadmin | microcontrollertechnik:11_i2c_schnittstelle [2025/11/08 13:16] (aktuell) – mexleadmin | ||
|---|---|---|---|
| Zeile 153: | Zeile 153: | ||
| ===== Software ===== | ===== Software ===== | ||
| + | |||
| + | ==== wichtiger Hinweis ==== | ||
| + | |||
| + | Die im Mikrocontroller fest verdrahtete State Machine von Microchip / ATMEL kann sich (selbst in der Simulation) durch ungünstiges Timing bzw. ungünstige Zustände aufhängen. \\ | ||
| + | Diese Zustände lassen sich leicht dadurch beheben, dass eine erneute Initialisierung der I2C Register nach jedem Versenden / Empfangen durchgeführt wird. | ||
| ==== einfache Anwendung - nur Polling ==== | ==== einfache Anwendung - nur Polling ==== | ||
| Zeile 488: | Zeile 493: | ||
| * In Simulide ist eine Umsetzung von Software I2C zu finden: '' | * In Simulide ist eine Umsetzung von Software I2C zu finden: '' | ||
| * Eine vollständige Implementierung des Codes für den I2C Master ist in der Library von Peter Fleury zu finden: [[http:// | * Eine vollständige Implementierung des Codes für den I2C Master ist in der Library von Peter Fleury zu finden: [[http:// | ||
| - | * Eine Implementierung eines [[Software I2C Slave]], also eines I2C an einem beliebigen Pin durch Bitmaipulation, habe ich bereitgestellt. Es soll jedoch stets bevorzugt werden die vorhandenen Hardware I2C zu nutzen. | + | * Eine Implementierung eines [[Software I2C Slave]], also eines I2C an einem beliebigen Pin durch Bitmanipulation, habe ich bereitgestellt. Es soll jedoch stets bevorzugt werden die vorhandenen Hardware I2C zu nutzen. |
| ==== Beschreibung ==== | ==== Beschreibung ==== | ||
| Die " | Die " | ||