Hallo Leute, ich bekomme bei meinem ATTINY13 mit winavr den ADC in einer ISR nicht zum laufen. Siehe Code. Was mache ich falsch? Grüße Björn
1. Du solltest, wenn du Bits setzten oder löschen willst, die Bitnamen mit entsprechenden Konstrukten benutzen (z.B. "PORTx |= (1<<Px1);") dann kann jeder das Programm lesen, ohne die Register im Kopf zu haben. 2. "ADCres2 = ADCL + (ADCH <<8);" Weißt du, in welcher Reihenfolge das Compiler die Bytes ausliest? Die Reihenfolge ist leider nicht egal. Besser wäre "ADCres2 = ADCW;" Und Variablen, die in einer ISR verändert werden muß man mit "volatile" "markieren".
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.