Grundsätzlich ist ja im Artikel TWI Praxis alles dargestellt, war der Mensch braucht, um die Hardware TWI eines AVR zu verwenden.
- Wenn "Multimaster" lediglich darin besteht, daß sich mehrere Master die I2C-Perpherie gewissermaßen teilen, reicht das auch völlig, da das TWI-Modul des Avr immer automatisch wartet, bis der Bus frei ist und viel mehr kann bei flotter Peripherie ja auch nicht passieren.
- Im Multimasterbetrieb mit gegenseitigem Zugriff treten allerdings Situationen auf, die die Sache dann leicht ins Stocken bringen
Inhaltsverzeichnis
Deadlock
MyTWI.LIB
Diese Bascom-Library versucht nun, diese Konflikte soweit abzuhandeln, daß der User nicht allzuviel damit konfrontiert ist.
Demo-Programm
- m32slave.bas demo/testprogramm
- twi_show_state.bas Twi-Status printen
- mytwi.bas includefile für die library
- mytwi.lib Bascom library, gehört natürlich ins Bascom LIB directory
Funktionen der Demo
- Das Demo definiert sich als Slave und sendet oder empfängt auf diese Weise Daten.
- Jede Sekunde aber sendet er selbst als Master Daten an einen anderen I2C-Slave und holt dann gleich auch Daten von dort ab