come inviare pacchetti di dati via i2c tra due arduino?

La wire di arduino lo guardata e ci ho capito poco, in particolare non capisco i due puntatori a funzione con il come "event".

La isr twi di arduino implementa una macchina a stati con switch case e usa due buffer, come li usa non lo so perchè non ho studiato la classe, ma solo il codice C.

In pratica dopo uno start si possono scrivere e leggere un numero qualunque di byte e questo lo deve stabbilire il protocollo software, diversamente senza protocollo ogni scrittura o lettura il master deve sempre emettere la condizione di star e poi inviare il bit Read/Write e infine dopo aver ricevuto ACK invia un solo byte, per il prossimo deve fare nuovamente start.

Io penso che se la twi di arduino usa il buffer ci deve essere un metodo per inviare una array di caratteri, magari non prende string direttamente.

poi con calma mi leggo il datasheet, che descire lo standard twi più che parlare dell'hardware... ma se non erro twi è una implementazione opensource/openhardware, quindi non mi stupirei se tutti i micro hanno lo stesso circuito, o molto simile.

Twi deve per forza essere aderente allo standard i2c altrimenti non potrebbe dialogare con sensori, memorie ecc che usano i2c, quindi si tratta dello standard i2c chiamato twi per motivi di licenza.

A me serve una lib C per il twi, quindi disponibile a discutere e scrivere codice di test, ma solo C non C++ e no arduino IDE, perchè non c'è lo.

Ciao.