Die Appnotes beziehen sich (wenn ich mich richtig erinnere) auf eine
Software Lösung. Dadurch kann man die Vorteile der Hardware nicht
nutzen, aber es funktioniert auch.
Die TWI-Schnittstelle kann entweder linear (z.B. als Subroutine)
verwendet werden, oder Interrupt-basiert.
Als Subroutine hast Du immer wieder Wartezyklen, die nicht weh tun,
wenn Du Zeit hast. Nach jedem Vorgang mußt Du auf die
Ausführungsbestätigung der TWI-Schnittstelle warten. In der
Softwarelösung mußt Du das gezwungenermaßen auch.
Interrupt-basiert heißt: Man löst einen TWI-Vorgang aus, kann sofort
ins Hauptprogramm zurück und die Schnittstelle löst einen Interrupt
aus, wenn sie fertig ist. Dann kann man entsprechend reagieren und
verliert sehr wenig Zeit in irgendwelchen Warteschleifen.
Ich muß mal schauen, inwiefern ich die TWI-Routinen aus meiner
Anwendung herausschälen kann.
Wenn Du die TWI linear benutzt, ist sie nicht schwerer zu
programmieren, als die Softwarelösung. Wichtig ist auch, daß Du das
I²C-Protokoll kennst und weißt, welche Informationen wann gesendet
werden müssen.
Ein PCF8574 ist relativ einfach anzusteuern, bei einem EEProm wirds
schon interessanter (repeated start condition bei Lesezugriff).
Welchen Controller benutzt Du?