如何在 MPLAB Harmony 框架中的两个应用程序(状态机)之间交换数据?

How to exchange data between two apps (state machines) in MPLAB Harmony framework?

我正在使用 MPLAB Harmony 框架实现 运行 并行的多个状态机,但我的一些状态机需要在另一个应用程序状态机进入特定状态时获取消息。考虑到任何 "correct" 或框架提供的在框架中的状态机之间进行这种简单数据交换的方式,我找不到任何信息。

所以基本上,我如何将有关状态机移动到特定状态的事件的信息(布尔类型信息,两个可能的值处于特定状态或不处于特定状态)交换到另一个应用程序状态机,其操作取决于在另一个状态机的状态上。是否有框架提供实现这种简单信息交换的方法?我正在用 C 语言为 32 位 Microchip 微控制器编写应用程序。

考虑使用 Harmony 提供的 FreeRTOS。他们有一个称为队列的数据集,非常适合您所描述的内容。我在 ISR 中使用它们来排队数据,缓冲区完成后任务会定期对其进行操作。