2017-11-30

今天我们学习了状态机编程,状态机是软件编程中的一个重要概念,比这个概念更重要的是对它的灵活应用。在一个思路清晰而且高效的程序中,必然有状态机的身影浮现。比如说一个按键命令解析程序,就可以被看做状态机:本来在A状态下,触发一个按键后切换到了B状态,再触发另一个键后切换到C状态,或者返回到A状态。进一步看,击键动作本身也可以看做一个状态机。一个细小的击键动作包含了:释放、抖动、闭合、抖动和重新释放等状态。

  同样,一个串行通信的时序(不管它是遵循何种协议,标准串口也好、I2C也好;也不管它是有线的、还是红外的、无线的)也都可以看做由一系列有限的状态构成。显示扫描程序也是状态机;通信命令解析程序也是状态机;甚至连继电器的吸合/释放控制、发光管(LED)的亮/灭控制又何尝不是个状态机。状态机可归纳为4个要素,即现态、条件、动作、次态,“现态”和“条件”是因,“动作”和“次态”是果。

  ①现态:是指当前所处的状态。

  ②条件:又称为“事件”。当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。

  ③动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。

  ④次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 人造树胶—现代塑料的鼻祖 1907年,纽约工作的一个科学家LHB发现并申请了一种革命性的新合成材料。他的发明人造树...
    z张文阅读 789评论 0 0
  • 怀念是一种很玄的东西,忽闪又忽灭,沉没在心里。怀念是一种无声无形的东西,它如影随行,让人无法抗拒。 怀念可以让你流...
    唯心主义阅读 671评论 1 6
  • 清晨的咖啡馆 空无一人 发呆 畅想 空灵的音乐声 飘荡 柔和 一壶彻好茶 清香 而又苦涩 而你 真实 而又虚幻 忽...
    sophiashow阅读 256评论 0 0
  • -01- 你身边有刀子嘴豆腐心的人吗? 我有,而且不少。 我妈就是其中之一。每当她情绪稍微不好的时候,就会刀子嘴豆...
    君子筱姐阅读 747评论 0 3

友情链接更多精彩内容