Gast
#1046608
Hallo Leute, jetzt versuche ich mal mein ersten Projekt unter C mit dem Atmel, habe bis jetzt nur ASM gemacht. Wenn ich in der main schreibe PORTA = PORTA | (1 << PA5 ); dann, sind ja mehre ASM befehle. Auslesen des Port, Setzen des Bits und zurückschreiben. Wass passiert jetzt wenn zwischen den Schritten ein Interrupt auftritt und auch den PORTA ändert? Also direkt nach dem Auslesen, damit wird die änderrung vom Interrupt ja wieder gelöscht. Das gleiche kann auch bei variable++ passieren, welche auch im interrupt geändert wird. Welche möglichkeit, aussen die Interrupts abzuschalten gibt es da? Bei dem Port könnte ich mir noch mit inline asm und sbi behelfen. mfg Peter