Butterfly USI als TWI Master verwenden

OP #544898
Lesenswert?

Hallo zusammen,

ich versuche im Moment die Application Note von ATMEL zum Thema USI als 
TWI Master auf den GCC zu portieren. Leider ist dieses Unterfangen nicht 
wirklich von Erfolg gekrönt.
Die Hauptroutine zum Datensenden scheint in irgendeiner Schleife 
festzustecken.

Hat irgendwer eine funktionierende Bibiliothek für den AVR-GCC 
geschrieben oder gesehen?

Vielen Dank,

Daniel
OP #545177
Lesenswert?

Vielen Dank für die Antworten!
Kann es sein, dass mein Compiler irgendwelche komischen Probleme mit 
Unions hat?
Zeile 46 ist das Ende der "struct".

usii2c/USI_TWI_Master.c:46: warning: declaration does not declare 
anything
usii2c/USI_TWI_Master.c: In function 
'USI_TWI_Start_Transceiver_With_Data':
usii2c/USI_TWI_Master.c:96: error: 'union USI_TWI_state' has no member 
named 'addressMode'
usii2c/USI_TWI_Master.c:131: error: 'union USI_TWI_state' has no member 
named 'masterWriteDataMode'
usii2c/USI_TWI_Master.c:161: error: 'union USI_TWI_state' has no member 
named 'addressMode'
usii2c/USI_TWI_Master.c:161: error: 'union USI_TWI_state' has no member 
named 'masterWriteDataMode'
usii2c/USI_TWI_Master.c:172: error: 'union USI_TWI_state' has no member 
named 'addressMode'
usii2c/USI_TWI_Master.c:178: error: 'union USI_TWI_state' has no member 
named 'addressMode'

Hätte jemand eine Idee?

Viele Grüße,

Daniel
OP #545283
Lesenswert?

Das Problem hat sich erledigt. Ich musste die Union etwas umschreiben.

Jetzt hab ich nur die folgende Frage:
Für den Fall, dass der Bus leer ist, also keine Slaves dranhängen, 
dürfte doch die Routine nicht hängen bleiben, sondern mit irgendeinem 
Fehler durchlaufen?
Bei mir bleibt sie nämlich noch immer irgendwo hängen.

Beste Grüße,

Daniel

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren