Hallo, ich habe folgendes Problem: ich nutze einen AVR32UC3A1512 um per Hardware-TWI 2 Sensoren des Types L3G4200D sowie lis3lv02dq (und später noch mehr) anzusteuern. der Relevante Code ist im Anhang. Das Auslesen erfolgt in der Init-Routine der Sensorik.c Als TWI-Interface nutze ich das im AVRStudio 6, Atmel Software Framework 2.11.1 enthaltene Beispielinterface. Das auftretende Problem ist folgendes: Nutze ich als TWI-Frequenz 400 KHz funktioniert alles wie gewollt. Beide Sensoren können problemlos geschrieben und ausgelesen werden. Wenn ich nun aber als TWI-Frequenz 100KHz einstelle wird zwar der erste Sensor eingelesen, beim zweiten Read-Befehl verbleibt das Programm aber in einer Endlosschleife in der es darauf wartet dass das TWI-Interface fertig wird. Hat einer eine Idee woran dies liegen könnte ? Ich bin mittlerweile ratlos. Vielen Dank, Marc S.
Pull-Up Widerstände vergessen? Oder hat der Sensor eventuell eine mindest-Frequenz, die Du unterschritten hast?
Stefan Frings schrieb: > Pull-Up Widerstände vergessen? Oder hat der Sensor eventuell eine > mindest-Frequenz, die Du unterschritten hast? hatte ich beides mehrfach gecheckt daran lags nicht. das problem lag daran dass in der isr der busy-status nicht zurückgesetzt wurde. habe es nun mit iner zusätzlichen abfrage des txcomp-flags in der bsy-abfrage gelöst. das Problem das dahintersteckt kenne ich aber trotzdem leider nicht
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.