Hallo,
ich bastle jetzt TWI auf Xmega. Mein Versuch wurde einfach so gebaut,
TWI Slave auf Xmega 16A4, TWI Master auf ATmega 8.
Auf Seite des Masters habe ich komplett den Quellecode von Atmel
genommen.
Es funktioniert einwandfrei.
Auf Seite des Slaves habe ich von Applikation Note umgeschrieben und
einige Änderungen gemacht. Deswegen kommt daher Problem :).
Die Aufgabe ist ganz einfach, ich sende ständig eine gleiche Nachricht
vom Master,
der 7 Bytes lang inklusive Adresse Byte ist.
Das Problem ist folgendes:
- Mein Programm kann nicht im folgenden Programmsteil springen
else
{
twi->SLAVE.CTRLB = TWI_SLAVE_ACKACT_bm |
TWI_SLAVE_CMD_COMPTRANS_gc;
TWI_Data->status = TWIS_STATUS_READY;
TWI_Data->results = TWIS_RESULT_TRANS_COMP;
TWI_Data->Data_Can_Be_Read = true;
}
Deswegen ist der Return Wert der Funktion TWI_Slave_Get_Data( unsigned
char *Data_Buffer )
immer FALSE und die Daten können nicht im Zielbuffer kopiert werden.
Die FRAME_BUFFER_SIZE Variable ist 6. Im Anhang lege ich auch den
Quellecode an.
Kann jemand mir an der Stelle helfen?
Vielen Dank!
Viele Grüße
nvn
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.