c语言中状态机编程.docx

有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法 (软件上称为FMM-- 有限消息机)。它把 复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理,符合计算 机的工作特点。同 时,因为有限状态机具有有限个状态,所以可以在实际的工程上实现。但这并不意味着其只能进行有限次 的处理,相反,有限 状态机是闭环系统,有限无穷,可以用有限的状态,处理无穷的事务。 有限状态机的工作原理如图 1所示,发生事件(event)后,根据当前状态(cur_state),决定执行的动作 (action),并设置 下一个状态号(nxt_state)。 | | 执行动作action 发生事件 event ——| cur_state | | | 设置下一状态号 nxt_state 当前状态 图1有限状态机工作原理 eO/aO I I TOC \o 1-5 \h \z eO/aO | | SO |—— | - | e1/a1 | | e2/a2 V | S2 |————| S1 | e2/a2 图2 一个有限状态机实例 当前状态 sO si s2 |事件 aO/sO -- aO/sO | eO ai/si -- -- | ei a2/s2 a2/s2 -- | e2 表1图2状态机实例的二维表格表示(动作/下一状态) 图2为一个状态机实例的

文档评论(0)

1亿VIP精品文档

相关文档