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/03/11 00:03] – mexleadmin | microcontrollertechnik:11_i2c_schnittstelle [2025/11/08 13:16] (aktuell) – mexleadmin | ||
|---|---|---|---|
| Zeile 21: | Zeile 21: | ||
| </ | </ | ||
| - | |||
| ==== Statemachine für Datenpaket ==== | ==== Statemachine für Datenpaket ==== | ||
| Zeile 154: | 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 472: | Zeile 476: | ||
| ===== weiterführende Unterlagen ===== | ===== weiterführende Unterlagen ===== | ||
| + | |||
| + | Die detaillierte Beschreibung zu I2C findet sich in des {{microcontrollertechnik: | ||
| ==== Bibliotheken ==== | ==== Bibliotheken ==== | ||
| Zeile 487: | 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 " | ||