前言
书接上文:https://blog.youkuaiyun.com/moon9999/article/details/96651652
在大体掌握了模块化思维后,我们继续前进。
一种非常典型的模块划分思想时把一个大模块(可以称之为系统或子系统)划分为控制部分、数据部分和存储部分,控制部分负责根据所处场景产生各种控制信号输出,数据部分根据控制部分的信号完成对数据的处理,存储部分负责存储数据。顺便提一句我认为这三个部分中最难的时控制部分,最体现功力的也是控制部分。
在控制模块里使用状态机是一种常见思路,至少面试官认为时一种常见思路。说来奇怪,感觉工作后大家写状态机的机会少之又少,可能与所处领域有关吧。
所以接下来我们就来研究下最典型的三段式状态机该怎么来构思怎么来写。
场景描述
假设我们要做的芯片时装在大门口控制器上,当有车进入探测器范围内时,挡杆(就叫门吧)需要向上开启至最大将门打开,当车开进去或者自行离开了,门向下降落逐渐关闭;当一辆