经期吃什么补气血| 系少一撇叫什么| 吃柠檬是什么意思| 四川地震前有什么预兆| 嗓子痛什么原因| 切尔斯什么意思| 湿气太重吃什么药| 苯扎氯铵是什么| 一月十一是什么星座| 挫折是什么意思| 羊水多对胎儿有什么影响| 头发有点黄是什么原因| 2013属什么生肖| 腰困是什么原因| 安宫牛黄丸为什么那么贵| 天天喝啤酒对身体有什么危害| 荷字五行属什么| 黑色的屎是什么原因| 脸上长肉疙瘩是什么原因| 问诊是什么意思| 小腿酸什么原因| 县尉相当于现在什么官| 藿香正气水有什么用| 什么糖最甜| 男人阴虚吃什么药好| 小青柑是什么茶类| 后脑勺疼什么原因| 地素女装属于什么档次| 花干是什么做的| 咳嗽吃什么好得快| 腥臭味是什么妇科病| 妇科清洁度3度用什么药治疗| 圣诞节送什么好| 验光是什么意思| 月经不来挂什么科| 什么叫人| 海马吃什么| 市局副局长什么级别| 深喉是什么感觉| 闪购是什么意思| 拉肚子可以吃什么药| 肺结核咳血是什么程度| 舌尖发麻是什么原因引起的| 猪八戒叫什么名字| 怕老婆的男人说明什么| 八府巡按是什么官| 来月经前头痛什么原因| 桃园三结义是什么意思| 开心的动物是什么生肖| 什么叫肝功能不全| 胎盘位于前壁是什么意思| 皮试是什么| 过敏什么症状| 结晶果糖是什么| 什么是工作性质| 女孩子命硬有什么表现| 医院减肥挂什么科| 荷花和莲花有什么区别| 什么季节| 脑干诱发电位检查是检查什么| 橱柜用什么材料好| 勇者胜的上半句是什么| 四月二十五是什么星座| 六安瓜片是什么茶| 皮肤干燥缺什么维生素| 夕阳是什么时候| 真身是什么意思| 自来熟是什么意思| 鹰嘴桃什么时候成熟| 但闻人语响的但是什么意思| 青年补钙吃什么好| 白细胞酯酶阳性是什么| 真菌菌丝阳性什么意思| 散光和近视有什么区别| 结膜炎滴什么眼药水| 蓝灰色配什么颜色好看| 六神无主是什么意思| 房颤有什么危害| 桂味是什么| nt检查什么内容| 梦见鸡蛋是什么意思| 总胆汁酸高是什么原因| 排比句是什么意思| 牙痛用什么药止痛快| 89年的蛇是什么命| 阴道内痒是什么原因| 男人为什么离不开情人| 发飙什么意思| 化脓性扁桃体炎吃什么药| 夏至什么意思| 买车选什么品牌| 三个犬念什么| 前列腺有什么症状| 2026年是什么命| 什么叫五福临门| 穷兵黩武是什么意思| 4.11是什么星座| 淋巴结用什么药效果好| 醉代表什么生肖| 马拉松起源与什么有关| 太原为什么叫龙城| 去医院看脚挂什么科| 梦见前女友是什么预兆| 六月十二号是什么星座| 骶管小囊肿是什么意思| 肠胃炎有什么症状| 激素六项什么时间查最好| 午时是什么时候| 什么肉最好吃| 救世主是什么意思| 景字属于五行属什么| 压脚背有什么好处| 葡萄胎是什么意思| 芒果什么品种最好吃| 哺乳期什么时候来月经正常| 857是什么意思| 股票pe是什么意思| 来月经喝酒有什么影响| 血常规五项能检查出什么病| 千叶豆腐是什么做的| 第三代试管是什么意思| 四时是什么时辰| 多多益善的意思是什么| 本田的高端品牌是什么| 毒血症是什么病| 奶昔是什么| 建议随诊是什么意思| 大学生当兵有什么好处| 宫腔内囊性结构是什么意思| 冬虫夏草有什么用| 结肠和直肠有什么区别| 托付是什么意思| 舌尖麻是什么原因| 咳嗽雾化用什么药| 什么加什么等于红色| 什么是菜花状疣图片| lancome是什么品牌| 肾阴虚是什么症状| 什么叫关税| 长鸡眼是什么原因| 放养是什么意思| 慢性气管炎吃什么药最有效| 11月21日什么星座| jeans是什么品牌| pp材质是什么材质| 方知是什么意思| 龙抬头是什么意思| 豆腐炖什么好吃| 虚岁29岁属什么生肖| 刺猬和豪猪有什么区别| 福星高照是什么生肖| 煮牛肉放什么容易烂| 为什么会甲亢| 经常做梦是什么原因| 华伦天奴属于什么档次| 囊性无回声是什么意思| 秦始皇墓为什么不敢挖| face是什么意思| kalenji是什么品牌| 说话不清楚是什么原因导致的| 吃什么补雌激素最快| 吃什么降血压效果最好| 辣皮子是什么| 坐阵是什么意思| 2022年属虎的是什么命| pocky是什么意思| scj是什么意思| 经常嗓子疼是什么原因| 鸾凤和鸣什么意思| 什么食物含铁| 软糯什么意思| 6月20日什么星座| 伤口愈合慢是什么原因| 醒面是什么意思| 给你脸了是什么意思| 左眼皮一直跳什么原因| 貔貅和麒麟有什么区别| 什么叫早泄| 胆囊结石用什么药好| 暑假什么时候结束| 小学教师需要什么学历| 甲片是什么| 阴道炎用什么药好| 利尿是什么意思| 考科目二紧张吃什么药| 陌然是什么意思| 大便黑色是什么原因| asd什么意思| 3月18日什么星座| 胃不舒服吃什么水果好| 防空警报是什么| 肖战什么星座| 什么拼音怎么写| 十二生肖排第七是什么生肖| 肌酐高有什么症状| 基础代谢率是什么意思| 上嘴唇上有痣代表什么| 花都有什么花| 甲亢不能吃什么食物| 口腔异味是什么原因引起的| 排卵是什么意思| 香槟玫瑰花语是什么意思| c罗为什么不结婚| 什么水果含铁量最高| 什么尾巴长不了| 胃泌素释放肽前体高是什么原因| 女人排卵是什么时间| gu是什么品牌| 目加此念什么| 九死一生是什么生肖| 苯磺酸氨氯地平片是什么药| 请柬写伉俪什么意思| 额头炎是什么症状| 指甲有竖纹是什么原因| 炸东西用什么淀粉| 什么是白茶| 太容易出汗是什么原因| 非萎缩性胃炎吃什么药效果好| 1994属什么| 清明是什么季节| 鸡蛋和面粉可以做什么好吃的| 阿托伐他汀钙片治什么病| 木字旁的字与什么有关| 小雪时节吃什么| 鼠的五行属什么| 天蝎座跟什么星座最配| 为什么三文鱼可以生吃| 玛尼石是什么意思| 宫寒吃什么药调理最好| 户籍所在地是指什么| 什么情况下需要打狂犬疫苗| 主管药师是什么职称| 经常吃红枣有什么好处和坏处| 支气管炎挂什么科| 长庚是什么意思| 甲状腺囊肿不能吃什么| 什么样的礼物| 告诫是什么意思| 母亲属虎孩子属什么好| 喉咙痛是什么原因引起的| 牙神经拔了对牙齿有什么影响| 羡煞旁人是什么意思| 总胆红素偏高是什么引起的| 小孩为什么经常流鼻血| 不放屁吃什么药能通气| 金箔金命是什么意思| 女人性冷淡吃什么药| 面部神经挂什么科| 孕期脸上长痘痘是什么原因| 黑眼圈是什么原因造成的| ena是什么检查项目| 硫磺是什么东西| 水痘疫苗第二针什么时候打| 08属什么生肖| 景色奇异的异是什么意思| 受之无愧的意思是什么| 伦琴是什么单位| 卵磷脂是什么| 淡盐水漱口有什么好处| 肾积水吃什么药| 背水一战什么意思| 产后抑郁症有什么表现症状| 左边头疼是什么原因怎么办| 手一直脱皮是什么原因| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 嵌入式开发 ? FPGA ? 嵌入式开发为何经常用到状态机架构?

共1条 1/1 1 跳转至

嵌入式开发为何经常用到状态机架构?

菜鸟
2025-08-04 14:20:04     打赏
一、提高CPU使用效率百度 地方志大都是由历代各地方的行政长官主修、并由当地有一定影响的儒生纂辑的,它不同于中央政府编纂的“国史”,也有别于带有宗教色彩的“藏”书,一方面对于各种“佞佛谄道”予以贬斥,另一方面对于释、道二家有益于劝善戒恶、助贫济困、促进公益和净化风俗等予以褒扬。


话说我只要见到满篇都是delay_ms()的程序就会头疼,动辄十几个ms几十个ms的软件延时是对CPU资源的巨大浪费,宝贵的CPU时间都浪费在了NOP指令上。
那种为了等待一个管脚电平跳变或者一个串口数据,让整个程序都不动的情况也让我非常纠结,如果事件一直不发生电平跳变,你要等到世界末日么?
如果应用状态机编程思想,程序只需要用全局变量记录下工作状态,就可以转头去干别的工作了,当然忙完那些活儿之后要再看看工作状态有没有变化。
只要目标事件(定时未到、电平没跳变、串口数据没收完)还没发生,工作状态就不会改变,程序就一直重复着“查询—干别的—查询—干别的”这样的循环,这样CPU就闲不下来了。
这种处理方法的实质就是在程序等待事件的过程中间隔性地插入一些有意义的工作,好让CPU不是一直无谓地等待。
二、逻辑完备性
逻辑完备性是状态机编程最大的优点。
不知道大家有没有用C语言写过计算器的小程序,我很早以前写过,写出来一测试,那个惨不忍睹啊!
当我规规矩矩的输入算式的时候,程序可以得到正确的计算结果,但要是故意输入数字和运算符号的随意组合,程序总是得出莫名其妙的结果。
后来我试着思维模拟一下程序的工作过程,正确的算式思路清晰,流程顺畅,可要碰上了不规矩的式子,走着走着我就晕菜了,那么多的标志位,那么多的变量,变来变去,最后直接分析不下去了。
很久之后我认识了状态机,才恍然明白,当时的程序是有逻辑漏洞的。
如果把这个计算器程序当做是一个反应式系统,那么一个数字或者运算符就可以看做一个事件,一个算式就是一组事件组合。
对于一个逻辑完备的反应式系统,不管什么样的事件组合,系统都能正确处理事件,而且系统自身的工作状态也一直处在可知可控的状态中。
反过来,如果一个系统的逻辑功能不完备,在某些特定事件组合的驱动下,系统就会进入一个不可知不可控的状态,与设计者的意图相悖。
状态机就能解决逻辑完备性的问题。
状态机是一种以系统状态为中心,以事件为变量的设计方法,它专注于各个状态的特点以及状态之间相互转换的关系。
状态的转换恰恰是事件引起的,那么在研究某个具体状态的时候,我们自然而然地会考虑任何一个事件对这个状态有什么样的影响。
这样,每一个状态中发生的每一个事件都会在我们的考虑之中,也就不会留下逻辑漏洞。
这样说也许大家会觉得太空洞,实践出真知,某天如果你真的要设计一个逻辑复杂的程序,会觉得状态机真香!
三、程序结构清晰
用状态机写出来的程序的结构是非常清晰的。
程序员最痛苦的事儿莫过于读别人写的代码,如果代码不是很规范,而且手里还没有流程图,读代码会让人晕了又晕,只有顺着程序一遍又一遍的看,很多遍之后才能隐约地明白程序大体的工作过程。
有流程图会好一点,但是如果程序比较大,流程图也不会画得多详细,很多细节上的过程还是要从代码中理解。
相比之下,用状态机写的程序要好很多,拿一张标准的UML状态转换图,再配上一些简明的文字说明,程序中的各个要素一览无余。
程序中有哪些状态,会发生哪些事件,状态机如何响应,响应之后跳转到哪个状态,这些都十分明朗,甚至许多动作细节都能从状态转换图中找到。
可以毫不夸张的说,有了UML状态转换图,程序流程图写都不用写。





关键词: 嵌入式     状态机    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
2月3日什么星座 丙肝为什么会自愈 旻什么意思 保妇康栓治疗什么妇科病 什么是行政拘留
暑伏为什么要吃饺子 生地是什么 芒果有什么营养价值 吃苦荞有什么好处 牡丹鹦鹉吃什么
脑委缩吃什么药能空制 什么应外合 夫星是什么意思 中耳炎吃什么消炎药 yl是什么牌子
长智齿一般什么年龄 scr医学上是什么意思 波霸是什么 吃什么不容易怀孕 马赫是什么意思
婴儿胎毛什么时候剃最好hcv9jop6ns3r.cn 足跟痛吃什么药hcv9jop7ns0r.cn 什么是肿瘤hcv9jop6ns3r.cn 7月26日什么星座hcv8jop5ns7r.cn 北京户口有什么好处520myf.com
依云矿泉水为什么贵hcv7jop9ns9r.cn 为什么嘴巴老是干hcv8jop8ns7r.cn 咳嗽有痰挂什么科hcv9jop3ns6r.cn 吃软饭是什么意思hcv9jop3ns8r.cn 苦瓜有什么作用hcv8jop7ns9r.cn
打美国电话前面加什么hcv9jop4ns6r.cn 怀孕前三个月忌吃什么hcv9jop7ns2r.cn 灵芝泡水喝有什么功效hcv9jop5ns6r.cn 狗鱼是什么鱼hcv8jop1ns4r.cn 水浒传是什么朝代hcv7jop7ns4r.cn
脂肪肝适合吃什么食物hcv8jop5ns8r.cn 聊天什么程度算暧昧hcv7jop7ns4r.cn 白细胞数目偏高是什么意思hcv8jop1ns9r.cn 痘痘挤出来的白色东西是什么kuyehao.com 什么的精神aiwuzhiyu.com
百度