7.2. APP_STATE_MACHINE
Overview
提供展示了app_state_machine接口应用示例和常见问题。
7.2.1. 应用示例
示例演示:
app_state_machine的创建
app_state_machine的使用与切换,具体流程如图:
example: 进入 apps/demo/demo_DevKitBoard/include/demo_config.h
,开启宏 USE_APP_STATE_MACHINE_TEST_DEMO
。
7.2.2. 常见问题
为什么要使用app_state_machine?
答:
1.使用app_state_machine可以使得所有执行的action都在 “app_core”任务执行,所有动作和事件都是单线程运转,不需要考虑互斥问题;
2.当客户应用方案,存在多个模式,并且多个模式之间是互斥关系(非后台)的情况下, 建立多个app_state_machine切换可以使得系统资源合理利用和降低CPU的消耗;
3.系统所有事件产生都会发送到当前app_state_machine的event_handler;