- 15
- 0
- 约1.36万字
- 约 11页
- 2021-11-25 发布于江苏
- 举报
学习笔记
学习笔记
有限状态机在单片机编程中的应用
有限状态机在单片机编程中的应用
在单片机编程中,如果在不使用操作系统的情况下同时执行多个任务,可能会遇到下面这些情况:
在单片机编程中,如果在不使用操作系统的情况下同时执行多个任务,可能会遇到下面这些情况:
一个任务的执行时间过长,导致其他任务无法及时执行
一个任务的执行时间过长,导致其他任务无法及时执行
delay()
delay()
在一些任务中大量使用 等函数进行软件延时,这些延时函数占用过多时间,影响
在一些任务中大量使用 等函数进行软件延时,这些延时函数占用过多时间,影响
其他任务的执行
其他任务的执行
一些复杂任务的程序逻辑不清晰,不便于以后对程序进行维护,或添加新功能
一些复杂任务的程序逻辑不清晰,不便于以后对程序进行维护,或添加新功能
本文介绍的有限状态机,可以做到将一个耗时较长的复杂任务分解为多个简单任务,同时使代码逻辑
本文介绍的有限状态机,可以做到将一个耗时较长的复杂任务分解为多个简单任务,同时使代码逻辑
更加清晰,从而解决上述问题。
更加清晰,从而解决上述问题。
目录:
目录:
1.
1. 什么是有限状态机
什么是有限状态机
)
)
2.
2.
有限状态机的作用
有限状态机的作用
分解耗时过长的任务
分解耗时过长的任务
CPU
CPU
避免软件延时对 资源造成浪费
避免软件延时对 资源造成浪费
使程序逻辑更加清晰
使程序逻辑更加清晰
3.
3. 有限状态机的实现
有限状态机的实现
switch - case
switch - case
通过 语句实现
通过 语句实现
Arduino
Arduino
通过 库实现
通过 库实现
其他方式
其他方式
4.
4. 示例一:按键去抖动程序的优化
示例一:按键去抖动程序的优化
传统的按键去抖动程序
传统的按键去抖动程序
】
】
优化后的按键去抖动程序
优化后的按键去抖动程序
5.
5. 示例二:通过有限状态机实现的闹钟程序
示例二:通过有限状态机实现的闹钟程序
6.
6. 后记
后记
1.
1. 什么是有限状态机
什么是有限状态机
finite-state machine, FSM
finite-state machine, FSM
根据维基百科上的定义,有限状态机 ( ,简称状态机)是表示有限个状态以
根据维基百科上的定义,有限状态机 (
原创力文档

文档评论(0)