RFM12 Biwait Problem

Gast #2141730
Lesenswert?

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.
Gast #2141794
Lesenswert?

mach doch direkt einen counter in deine bitwait, warte halt bis der 
counter =0 ist.? wenn der counter 0 wurde, setze ein flag, und hüpf 
raus. musst natürlich noch das flag prüfen, in der übergeordneten 
anwendung.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren