Kommunikation unter den Tasks

OP #2487160
Lesenswert?

Hallo!

Ich arbeite mit dem uVision von Keil in c mit dem stm32f103vc.

Ich habe 2 Tasks mit unterschiedlicher Prio, die unabhängig von einander 
laufen. Wie kann ich jetzt die Tasks kommunizieren lassen mit einander?? 
Mailbox??

Im einten Task wird der Ausgang geresetet , im 2. Gesetzt. Ich möchte 
jetzt im 2. Task mitteilen, er darf den Ausgang nicht setzten, da die 
Entscheidung des 1. Tasks wichtiger ist!

Gibt es sinnvolle Lösungsansätze? Die Mailbox kenne ich eben nicht!

Danke und Gruss!

M.B.
#2487224
Lesenswert?

Die Ausgangsbasis ist schon etwas ungünstig, denn eigentlich sollten die 
selben Pins nicht gleichzeitig mehreren Tasks zugeordnet sein, d.h. ein 
Pin A.7 sollte von genau einer Task verwaltet werden, nicht von zweien. 
Andernfalls ist es etwas schwierig, Glitches auf den Pins zu verhindern, 
wenn also eine Task den Pin setzt bevor die andere die Kontrolle 
übernimmt und ihn sofort wieder löscht.

Daher möchte ich ganz vorsichtlich mal die Frage stellen, ob die 
bestehende Konstellation wirklich der Stein der Weisen ist, oder ob man 
nicht vielmehr die Kontrolle über den Pin einer einzelnen Task 
überlassen sollte, die ggf. von der anderen über deren Zustand/Wünsche 
informiert wird.
#2487265
Lesenswert?

Das lässt sich ohne Kenntnis der Arbeitsweise der Tasks und der 
konkreten Zeitbedingungen und mit defekter Kistallkugel schlecht sagen.

Wenn die Prio-Task beispielsweise ohnehin zyklisch irgendwelche Runden 
dreht, dann reicht es u.U. aus, einfach den Zustand einer gemeinsam 
genutzen Variablen (volatile) abzufragen.

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