Hallo,
ich versuche grade in C ein paar Zeilen Assembler einzufügen. Dieser
code sieht so aus
1 | __asm__ volatile (
|
2 |
|
3 | " loopanfang: sbic 0x0C, 4 ;" // clk_pin auf Zustand abfragen und nächsten Befehl überspringen, wenn Pin auf Low ist
|
4 | " rjmp loop_anfang; " // zu Schleifenanfang springen
|
5 | );
|
leider wird nur der erste Befehl ausgeführt (sbic ...), also die Abfrage
des Pins. das rjmp wird nicht beachtet. habe es im AVR-Simulator und am
Chip mittels debug getestet.
Auch bei diesem Quellcode-Stück wird nur der erste Befehl ausgeführt.
1 | __asm__ volatile (
|
2 |
|
3 | " sbi 0x0D, 5 ;" // SW_DDR von clk auf 1
|
4 | " sbi 0x0E, 5 ;" // SW_Port von clk auf 1
|
5 | );
|
Kann mir jemand bei der PRoblemlösung helfen? ich möchte halt gerne alle
Befehle ausgeführt haben.
Gruß
Robert