Gast
#2141730
Hallo, ich nutze das RFM12 Modul am Atmega 32 und programmiere in Bascom. Ich habe eine Receive-Routine, die per Interrupt aufgerufen wird, sobald Daten empfangen werden. In dieser Receive Routine kommt nun "Bitwait" vor. Nun ist es (selten, aber eben manchmal) so, dass nach dem Auslösen eines Interruptes, das Programm bei Bitwait stoppt, weil kein Signal mehr anliegt. Um dies zu beseitigen dachte ich mir, vor Biwait einen Timer (ISR) zu starten. Der Timer wird direkt nach Bitwait wieder deaktiviert. Wenn der Timer nun z.b. 400ms gezählt hat, so ist damit klar, dass das Programm bei Bitwait hängt. Nun möchte ich, dass dann aus der Timer ISR gesprungen wird und nach Bitwait weiter gemacht wird. Gibt es die Möglichkeit z.b. den Pointer Stack zu manipulieren, damit die Timer ISR nach Ablauf der 400ms hinter Bitwait weiter macht? Oder gibt es vielleicht eine bessere Alternative? Auf Bitwait verzichten geht leider nicht.