Nabend zusammen, ich komme gerade nicht weiter beim ATmega88. Folgender Code will nicht funktionieren:
1 | wait_adc: |
2 | lds r16, ADCSRA |
3 | sbic r16, ADSC |
4 | rjmp wait_adc |
Bei dem Befehl "sbic" sagt der Compiler "Invalid number". Laut meinem verständnis (was sicher noch viele lücken hat) müsste der Befehl aber gehen, da ich ja mit lds das Statusregister in das r16 Arbeitsregister lade. Laut dem Tutorial http://www.mikrocontroller.net/articles/Bitmanipulation#AVR_Assembler_2 soll der Befehl auf alle Arbeitsregister anwendbar sein. [zitat] Der AVR hat spezielle Befehle um direkt einzelne Bits in den CPU-Registern r0..r31 sowie den IO-Registern 0..0x1F zu prüfen. [/zitat] Was für einen gedanken Fehler habe ich da? Ich muss doch den µC solange warten lassen, bis der ADC fertig gesampled hat und das Bit ADSC gelöscht ist. Grüße Stephan