Amri
27.11.2012, 12:03
Hallo!
Ich habe ein kleines Problem mit einem Programm: Ich habe ein Timer-Interrupt, das während der gesamten Laufzeit aktiviert ist.
An einer Stelle in der main warte ich darauf, dass der Benutzer eine Taste drückt:
...
while(PINC & (1<<PINC4)) {}
...
Das Problem: Sobald das Programm bei der Schleife ankommt, wird das Timer-Interrupt nicht mehr ausgeführt. Sobald der Taster gedrückt wurde, geht es weiter.
Wenn ich jetzt in die Schleife ein "sei();" einfüge, dann funktioniert alles.
Kann mir jemand sagen, warum das so ist? ich habe das Interrupt schließlich nirgends deaktiviert...
Ich habe ein kleines Problem mit einem Programm: Ich habe ein Timer-Interrupt, das während der gesamten Laufzeit aktiviert ist.
An einer Stelle in der main warte ich darauf, dass der Benutzer eine Taste drückt:
...
while(PINC & (1<<PINC4)) {}
...
Das Problem: Sobald das Programm bei der Schleife ankommt, wird das Timer-Interrupt nicht mehr ausgeführt. Sobald der Taster gedrückt wurde, geht es weiter.
Wenn ich jetzt in die Schleife ein "sei();" einfüge, dann funktioniert alles.
Kann mir jemand sagen, warum das so ist? ich habe das Interrupt schließlich nirgends deaktiviert...