Forum: Compiler & IDEs FreeRTOS - Ein/Ausgänge verwalten


von SH (Gast)


Lesenswert?

Hallo,
ich setzte FreeRTOS auf einem Cortex M3 (LM3S) ein. Das ist soweit auch 
kein Problem.

Allerdings bin ich auf der Suche wie man am besten/geschicktesten die 
Ein/Ausgänge abstrahieren kann um die einzelnen Ein/Ausgänge flexibel in 
den Verschiedenen Tasks einsetzen zu können. Auch wäre es schön wenn man 
z.B. die Dauer eines Tastendrucks (Eingang) mit berücksichtigen könnte.

Wie wird so etwas in "Vollwertigen" Betriebssystemen realisiert?
Ich hoffe ihr habt da ein paar Tipps oder Ansätze für mich.


Gruß

von Simon H. (simi)


Lesenswert?

Mal einfach so aus der Hüfte geschossen: Ein Task, der sagen wir mal im 
10 oder 100ms Takt läuft und jeweils alle interessanten GPIO pollt, und 
jeweils bei einem Wechsel von "nicht gedrückt" nach "gedrückt" (nach 
Entstörung - eine "kurz gedrückt"-Meldung auf die Queue legt, und 
gleichzeitig eine Zählvariable auf Null setzt. Solange die Taste 
gedrückt bleibt, wird hochgezählt, und wenn sie genügend hoch ist, wird 
"lange gedrückt" auf die queue gelegt.

Sicher nicht die effizienteste Methode - aber dafür sehr einfach.

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.