Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| microcontrollertechnik:11_i2c_schnittstelle [2024/08/29 19:37] – mexleadmin | microcontrollertechnik:11_i2c_schnittstelle [2025/11/08 13:16] (current) – mexleadmin | ||
|---|---|---|---|
| Line 153: | Line 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 ==== | ||
| Line 488: | Line 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 " | ||