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 [2023/11/28 00:51] – ↷ Seitename wurde von microcontrollertechnik:10_i2c_schnittstelle auf microcontrollertechnik:11_i2c_schnittstelle geändert mexleadmin | microcontrollertechnik:11_i2c_schnittstelle [2025/06/22 13:06] (aktuell) – mexleadmin | ||
|---|---|---|---|
| Zeile 8: | Zeile 8: | ||
| - wissen wie die Kommunikation zwischen I2C Master und Slave funktioniert | - wissen wie die Kommunikation zwischen I2C Master und Slave funktioniert | ||
| + | |||
| + | Im Video wird eine Library für die Kommunikation verwendet. Wir werden in untenstehenden Beispiel die Register selbst schreiben. | ||
| </ | </ | ||
| ==== Video ==== | ==== Video ==== | ||
| + | {{youtube> | ||
| + | |||
| + | <WRAP hide> | ||
| {{youtube> | {{youtube> | ||
| + | </ | ||
| </ | </ | ||
| - | |||
| ==== Statemachine für Datenpaket ==== | ==== Statemachine für Datenpaket ==== | ||
| Zeile 148: | 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 195: | Zeile 205: | ||
|   |   | ||
|    |    | ||
| - |   | + |   | 
| C-Compiler: AVR/GNU C Compiler 5.4.0 | C-Compiler: AVR/GNU C Compiler 5.4.0 | ||
|    |    | ||
| Zeile 353: | Zeile 363: | ||
|   |   | ||
|    |    | ||
| - |   | + |   | 
| 				    | 				    | ||
| Zeile 466: | Zeile 476: | ||
| ===== weiterführende Unterlagen ===== | ===== weiterführende Unterlagen ===== | ||
| + | |||
| + | Die detaillierte Beschreibung zu I2C findet sich in des {{microcontrollertechnik: | ||
| ==== Bibliotheken ==== | ==== Bibliotheken ==== | ||
| Zeile 481: | 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, | + |   * Eine Implementierung eines [[Software I2C Slave]], also eines I2C an einem beliebigen Pin durch Bitmaipulation, | 
| ==== Beschreibung ==== | ==== Beschreibung ==== | ||
| Die " | Die " | ||