Chiarimento registri dei dispositivi I2C

Ciao a tutti,

come da titolo vorrei capire la logica dei registri nei dispositivi I2C.
In particolare vorrei capire come è suddivisa la memoria del chip in modo che io possa chiedere quel particolare byte.

Ho costruito un po' di tempo fa un anemometro e banderuola letti da un tiny che poi invia i dati al cervello di tutto il sistema (arduino MEGA), i due comunicano in I2C e funziona tutto regolarmente. Solo che ad ora posso solo chiedere tutto il malloppo di dati e non posso ad esempio chiedere solo il dato dell'anemometro piuttosto che della banderuola.

Volevo quindi capire se è fattibile suddividere in registri anche 'la memoria' (forse non è il termine adatto) del tiny.

Spero di essere stato chiaro :slight_smile:

Ma avendo ognuno un address univoco mi pare strano che tu non possa fare un'interrogazione diretta :cold_sweat:

Credo di essermi spiegato male, me ne scuso!

L'AtTiny85 è uno e legge due analogici per la banderuola e un digitale per l'anemometro. Poi questi dati li chiede un Arduino che li unisce ad altre cose che fa lui e ci fa dei calcoli che ora non interessano.

Io avrei bisogno di suddividere i dati dentro al Tiny in blocchi (registri) come avviene nei dispositivi I2C.

Puoi, quando richiedi un dato, mandare un numero. Secondo quel numero il Tiny programmato opportunamente puó risponde con un dato o con un altro. Vedilo come un indirizzo spedito a un EEprom I2C.
Ciao Uwe