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;

7.2.3. API Reference