我正在使用 C/C++ 开发一个 FreeRTOS 项目,该项目大约有 10 个用于 gpios、显示器、wifi 等的任务。
这些任务仅由事件触发。例如,用户在菜单“连接”上选择一个选项,这将触发相应任务的事件。
我想知道的是,处理代码周围标志的最佳方法是什么?
例如,我有一些标志:“wifi_check_status”,“mqtt_connect”,“button_pressed”等等。
目前,我正在使用存储所有这些标志的全局结构。然后,重复的任务只读取它需要的标志并更新其值。
我有很多标志,以及 10 个需要读取它们的任务。每当任务想要读取这些标志时,我是否应该使用互斥锁?还是有我没有看到的更简单的方法?
我对当前的架构没有任何问题,但我想知道这是否是最好的方法。
提前非常感谢