dreadbrain
08.07.2008, 12:31
Hallo´,
ich habe 2 controller ( atmega 16 und atmega 128) miteinander über TWI verbunden.
Das Senden von Daten von Master(M128) zum Slave(M16) klappt schon super, nur die andere Richtung macht mir Probleme.
Ich habe mir das so vorgestellt, das der Master den Slave addresiert und der Slave dann ein Datenpaket ( 16 Byte) zurücksendet.
Die 16 Byte sind reine Daten, also muss der Master mitzählen damit er weis welches Byte das gerade empfangene ist.
Im Wiki ist dazu ja ein Beispiel, das genau das macht, halt nur mit einem Byte.
Ich habe schon ewig rumprobiert das auf 16 byte zu erweitern, komm aber nicht dahinter wies funktioniert.
Das Datenblatt von Atmel gibt auch nicht viel dazu her.
Kann mir jemand Beschreiben wie ich das machen könnte.
Wann muss wer ACK onder NACK senden etc.
Hat evtl. jemand ein Beispiel dazu?
mfg Benedikt
ich habe 2 controller ( atmega 16 und atmega 128) miteinander über TWI verbunden.
Das Senden von Daten von Master(M128) zum Slave(M16) klappt schon super, nur die andere Richtung macht mir Probleme.
Ich habe mir das so vorgestellt, das der Master den Slave addresiert und der Slave dann ein Datenpaket ( 16 Byte) zurücksendet.
Die 16 Byte sind reine Daten, also muss der Master mitzählen damit er weis welches Byte das gerade empfangene ist.
Im Wiki ist dazu ja ein Beispiel, das genau das macht, halt nur mit einem Byte.
Ich habe schon ewig rumprobiert das auf 16 byte zu erweitern, komm aber nicht dahinter wies funktioniert.
Das Datenblatt von Atmel gibt auch nicht viel dazu her.
Kann mir jemand Beschreiben wie ich das machen könnte.
Wann muss wer ACK onder NACK senden etc.
Hat evtl. jemand ein Beispiel dazu?
mfg Benedikt