Forum: Mikrocontroller und Digitale Elektronik Wie Timeout implementieren ?


von arbeiter (Gast)


Lesenswert?

Hallo,

ich möchte in einer Embedded-Applikation einen Timeout implementieren.
Dazu habe ich zunächst eine Timer-Callbackfunktion die alle 100ms 
ausgeführt wird.
Mir ist jetzt noch nicht klar wie ich nun die Timeout Funktionalität 
implementieren kann ?
Wie wird diese Funktionalität  eingesetzt ?
von derLars (Gast)


Lesenswert?

Wie ist dein "Timeout" definiert?

Nur durch die Bezeichnung "Timeout" ist die Funktionalität ja noch nicht 
erklärt. Somit kann man dir mit diesem Informationsstand auch noch nicht 
wirklich weiterhelfen.

MfG derLars
von Peter D. (peda)


Lesenswert?

Es gibt 2 Möglichkeiten:

1.
Der Timer setzt ein Flag und die zu terminierende Task testet dieses 
Flag.

2.
Es gibt eine Funktion zum Terminieren der Task und der Timerinterrupt 
ruft diese auf.


Peter
von Detlev T. (detlevt)


Lesenswert?

Zur Tastenentprellung per Software habe ich meist eine Routine, die alle 
10ms aufgerufen wird. In dieser wird eine oder mehrere (volatile) 
Variablen auf null runtergezählt.
1
if(countdown) countdown--;
Diese setze ich nach Bedarf auf den Timeoutwert (z.B. 100 für eine 
Sekunde) bei jedem Ereignis. Ist der Wert irgendwann null: Timeout!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.