找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1693|回复: 7
收起左侧

请教stm32f103状态机如何写

[复制链接]
ID:584195 发表于 2021-11-15 14:27 | 显示全部楼层 |阅读模式
    最近项目想用状态机来写。各位有懂的可以带带我吗?
回复

使用道具 举报

ID:262 发表于 2021-11-15 16:45 | 显示全部楼层
参考http://www.51hei.com/bbs/dpj-214338-1.html
51hei搜索框输入"STM32 状态机"这几字符
回复

使用道具 举报

ID:791876 发表于 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. }
复制代码

我自己是这样写的,你看下
回复

使用道具 举报

ID:584195 发表于 2021-11-15 18:20 | 显示全部楼层
heicad 发表于 2021-11-15 16:45
参考http://www.51hei.com/bbs/dpj-214338-1.html
51hei搜索框输入"STM32 状态机"这几字符

谢谢!
回复

使用道具 举报

ID:584195 发表于 2021-11-15 18:21 | 显示全部楼层
fox0815 发表于 2021-11-15 16:56
我自己是这样写的,你看下

我想弄成指针函数那样的。
回复

使用道具 举报

ID:101305 发表于 2023-6-12 17:53 | 显示全部楼层
我也想弄一个麻烦哪位大神举个例子
回复

使用道具 举报

ID:883242 发表于 2023-6-13 19:18 | 显示全部楼层
herohuang 发表于 2023-6-12 17:53
我也想弄一个麻烦哪位大神举个例子

随便找个状态机的代码看一下,这东西跟STM32一点儿关系都没有。
回复

使用道具 举报

ID:1048181 发表于 2023-6-13 21:26 | 显示全部楼层
把状态机部分分为两个部分,一个是状态的转移部分,另外一个就是状态所执行的动作。把握这两个主要部分就行,然后具体可以搜索一些状态机的示例,然后学习一下写法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表