2016-07-20 23 views
0

Ich implementiere mehrere Zustandsautomaten, die parallel mit dem MPLAB Harmony-Framework laufen, aber einige meiner Zustandsautomaten müssen eine Meldung erhalten, wenn der Zustandsautomat einer anderen Anwendung einen bestimmten Status erreicht. Ich konnte keine Informationen finden, die einen "richtigen" oder Framework-bereitgestellten Weg für einen solchen einfachen Datenaustausch zwischen den Zustandsautomaten im Framework in Betracht ziehen.Wie tausche ich Daten zwischen zwei Apps (State Machines) im MPLAB Harmony Framework?

Also, wie tausche ich Informationen über das Ereignis der Zustandsmaschine in einen bestimmten Zustand (Boolesche Information, zwei mögliche Werte entweder im spezifischen Zustand oder nicht im bestimmten Zustand) zu einer anderen Anwendungszustandsmaschine aus, deren Betrieb davon abhängt der Zustand der anderen Staatsmaschine. Gibt es einen Rahmen für einen einfachen Informationsaustausch? Ich schreibe meine Anwendungen in C für die 32-Bit-Microchip-Mikrocontroller.

Antwort

1

Schauen Sie sich das FreeRTOS von Harmony an. Sie haben einen Datensatz namens Warteschlangen, die perfekt für das sind, was Sie beschreiben. Ich verwende sie in meinen ISRs, um Daten in eine Warteschlange zu stellen, auf die eine Aufgabe regelmäßig reagiert, sobald der Puffer vollständig ist.

+0

Vielen Dank, dies scheint zur Zeit der einzige Rahmen/rtos zur Verfügung gestellte Möglichkeit zu sein, zwischen diesen Zustandsmaschinen zu kommunizieren. Ich habe einige der Beispiele, die mit der Harmonie geliefert wurden, überprüft und sie scheinen zu diesem Zweck nur gemeinsame Variablen zu verwenden, also denke ich, dass ich auch mit diesem Ansatz gehe, da rtos für die Projekte, mit denen ich arbeite, etwas übertrieben wäre. –