标题: 请教stm32f103状态机如何写 [打印本页]

作者: zyluglugl    时间: 2021-11-15 14:27
标题: 请教stm32f103状态机如何写
    最近项目想用状态机来写。各位有懂的可以带带我吗?

作者: heicad    时间: 2021-11-15 16:45
参考http://www.51hei.com/bbs/dpj-214338-1.html
51hei搜索框输入"STM32 状态机"这几字符
作者: fox0815    时间: 2021-11-15 16:56
  1. enum
  2. {
  3.     State1,
  4.     State2,
  5.     State3,
  6.     ...
  7.     State_End,
  8. }Fsm;
  9. Fsm = State1;
  10. for(;Fsm != State_End;)
  11. {
  12.     Switch(Fsm)
  13.     {
  14.         Case: State1:
  15.         {
  16.             //执行代码1
  17.             Fsm = State2;
  18.             break;
  19.         }
  20.         Case: State2:
  21.         {
  22.             //执行代码2
  23.             Fsm = State3;
  24.             break;
  25.         }        
  26.         ......

  27.         Case: State_N:
  28.         {
  29.             //执行代码N
  30.             Fsm = StateEnd;
  31.             break;
  32.         }
  33.     }
  34. }
复制代码

我自己是这样写的,你看下
作者: zyluglugl    时间: 2021-11-15 18:20
heicad 发表于 2021-11-15 16:45
参考http://www.51hei.com/bbs/dpj-214338-1.html
51hei搜索框输入"STM32 状态机"这几字符

谢谢!
作者: zyluglugl    时间: 2021-11-15 18:21
fox0815 发表于 2021-11-15 16:56
我自己是这样写的,你看下

我想弄成指针函数那样的。
作者: herohuang    时间: 2023-6-12 17:53
我也想弄一个麻烦哪位大神举个例子
作者: Hephaestus    时间: 2023-6-13 19:18
herohuang 发表于 2023-6-12 17:53
我也想弄一个麻烦哪位大神举个例子

随便找个状态机的代码看一下,这东西跟STM32一点儿关系都没有。
作者: tutu55513    时间: 2023-6-13 21:26
把状态机部分分为两个部分,一个是状态的转移部分,另外一个就是状态所执行的动作。把握这两个主要部分就行,然后具体可以搜索一些状态机的示例,然后学习一下写法




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1