Hi!
Danke für eure Antworten.
Ich glaube das Problem gefunden zu haben:
Ich schalte den Interrupt ein und lege den AVR in der nächsten Zeile
schlafen. Wenn dazwischen ein Interrupt ausgelöst wird, geht er in die
ISR und deaktiviert den Interrupt, springt zurück und schläft ein. Dann
wacht er nie wieder auf. Manchmal sieht man das offensichtliche nicht.
Ich habe die Zeile aus der ISR entfernt und nach dem sleep_mode()
eingefügt, seit dem keine Probleme mehr.
@Peter:
Ich hätte die Frage konkreter stellen sollen: Ist es in Ordnung, einen
externen Interrupt in seiner ISR zu deaktivieren?
Am Ende lag das Problem ja woanders, da wäre in der Tat der komplette
Code sinnvoll gewesen.
Das Programm hat natürlich noch viel mehr Möglichkeiten, sich
aufzuhängen, die auch von externen Dingen abhängen. Daten über Uart mit
Auswertung, 1-3 DS18S20, rfm12-Platine,
Gruß,
Chris