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.