Telegramme über I2C geht fast genau wie bei UART, wenn man die UART-typischen Fifos weiter verwendet. Das spart die bei I2C übliche Registeradressierung. Statt
Slaveadresse, Registeradresse, Registerinhalt,...
muss man dann nur noch
Slaveadresse, Fifoinhalt,...
schreiben. Beim Lesen geht's ebenso.
Ich habe so was letztens für ATXMega und 1er Tiny-Controller gebaut. Wie immer der Hauptteil (teuflisches Gestocher) in der I2C-Hardware mit den ganzen I2C-Stati, aber im Ergebnis recht zufriedenstellend.
Was man in die Fifos schreibt (Json, XML, Ascii oder binäre Strukturen), kann man sich ja selber erfinden.
Ich schreibe mir in der Regel Strukturtypen, deren erstes Byte grundsätzlich eine CommandID als eindeutigen Identifier beinhalten. Das frisst nicht viel Platz.
Lesezeichen