总结
在“点亮LED灯”例子中,按键的去抖动是要完全占用CPU,阻塞其它功能运行的,用状态机可以实现非阻塞去抖动,且代码量结构清晰代码量极少。
代码中的trace、debug、error信息是在编码的时候就考虑到该如何跟踪调试该代码,实际调试中效果非常明显。
由于MCU资源的限制,一般不会增加操作系统,并行处理,同步处理,异步处理,非阻塞实现,都要靠状态机实现,实现一个优美简洁的状态机,是功能可靠稳定的前提。
在前面的例子时,就把驱动(driver)和应用(app)模块化,在本例中受益很大,如果细心比较本例代码和其它例子代码,可以发现除了应用(app)部分代码被重写之外,其它代码都没做任何改动,继承性非常好,省去了驱动代码的编码调试工作。
|