请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2640 工具/软件:TI-RTOS
您好!
我正在尝试在 TI-RTOS 中实现状态机。 问题是我只在学校任务中使用了状态机、或者在 Verilog 中使用了 FPGA。 我希望在为 RTOS 中的状态机选择合适的架构时能有所帮助。 如果 Resource Explorer 或 TI Academy 中有示例、请告诉我。 下面、我为我认为应该为状态机执行的操作添加了伪代码、但我之前没有 TI-RTOS 或任何其他 RTOS 方面的经验、因此我不知道是否有更好的解决方案/实施。 如果我不在正确的轨道上、请告诉我。 谢谢。
1.创建 FSM 任务 2.创建已更改的输入信标 3.创建按钮中断->分配给输入更改的回调 4.创建加速计中断->分配给输入更改的回调 5.如果错误变量发生更改,则创建中断->分配给输入更改的回调 6.如果所有良好的变量更改,则创建中断->分配给输入更改的回调 7.如果 battery_critical 变量发生更改,则创建中断->分配给输入更改的回调 8.创建 input_changed_callback input_changed_callback: semaphore_post (输入更改了信标) 9. FSM 任务 while (1): Semaphore_pend (输入更改了信标) //根据 输入和当前状态确定下一状态 //更新当前状态 = NEW_STATE // seq.逻辑 每个状态都是其自己的任务,因此只需终止除 当前状态以外的所有任务, 并在 任务尚未启动时恢复或启动该任务
谢谢、
罗马