嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。

       不知道大家学习嵌入式教程的时候有没有听过状态机,或许有些人会听过状态机编程,和模块化编程,框架式编程一样,都是一种好的框架。

       状态机的构成一个分为5个部分,分别是事件、条件、状态、动作、迁移。光是这么看的话感觉像是写小说的时间地点人物三要素一样。虽然不是,但想要掌握状态机,这五个部分缺一不可,也必须清楚了解分别是什么。       我们先来认识一下状态,状态是系统某一时刻的工作状况,一个周期可以有多种状态,但每个时刻只能存在一种状态。就好像电动机有三种状态,但它绝不可能在正转的时候,还停转。迁移则是状态之间的变化过程,同样以电动机为例,从停转变成反转的过程就叫做迁移。不过迁移的过程并不像动物的迁徙是自主的,而是被动产生的,电动机停转不会自己动起来,必须通过我们去干预,去操作才可以实现。       事件这个词看着非常可怕,就好像柯南在身边一样。但某一时刻发生的事情就可以称之为事件,就好像断电,状态迁移,加正电压等都是事件。状态机在迁移的过程中,我们经常会看到状态机会出现一些其它的行为,而这就是动作。动作有点类似于小动作,是对事件响应,我们可以理解为当事件发生时,总会出现一些小动作提醒,或者吸引我们的注意。

       最后的条件就非常好理解了,我们想要达成某一个结果,那就必须满足达成结果的条件,如果说没有相应条件,这个结果也是不会出现的。就好像没有电,即使给你一台电动机,你也无法让它正常工作。在学习嵌入式教程时,只要搞清楚这几个点,我们想要学好状态机编程也就会事半功倍了。而学会一种好的编程框架或者一种编程思想,可能会受用终生!