鱼弦:CSDN内容合伙人、CSDN新星导师、全栈领域创作新星创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen)
按键控制流水灯的实现原理:
- 初始化:将8个LED接口设置为输出模式,两个按键接口设置为输入模式。
- 主循环:在一个无限循环中,不断检测按键的状态。
- 检测KEY1按键:如果检测到KEY1按键被按下,将在流水灯流动一次后停止。此时,设置一个标志位
key1_pressed
为1,并等待KEY1按键释放。 - 检测KEY2按键:如果检测到KEY2按键被按下,将清除
key1_pressed
标志位为0,并等待KEY2按键释放。 - 控制流水灯流动:如果
key1_pressed
标志位为1,表示流水灯应该流动。通过改变LED接口的电平状态和流水灯模式,控制流水灯的流动效果。 - 延时函数:使用延时函数来控制流水灯的速度。
流程图:
+---------+
| 初始化 |
+----+-+--+
| |
| |
v v
+---------+
| 主循环 |
+----+-+-