标题: stm32f103r6单片机使用C语言switch语句和按钮做流水灯相关问题 [打印本页]

作者: 田所浩二单推人    时间: 2021-11-2 21:59
标题: stm32f103r6单片机使用C语言switch语句和按钮做流水灯相关问题
本来是要按钮按一次灯左移一位亮 但仿真上灯全亮
主要代码如图 麻烦大佬们了

代码.jpg (33.62 KB, 下载次数: 57)

代码.jpg

作者:     时间: 2021-11-3 08:10
是不是缺少了做按键消抖
作者:     时间: 2021-11-3 08:11
灯每次亮了要把上一次状态清除的把
作者: 田所浩二单推人    时间: 2021-11-3 08:44
 发表于 2021-11-3 08:11
灯每次亮了要把上一次状态清除的把

switch语句还需要这样吗
作者: 黄youhui    时间: 2021-11-3 09:00
田所浩二单推人 发表于 2021-11-3 08:44
switch语句还需要这样吗

你流水亮第二个灯之前,先吧第一个灯关了,还有你按键没有延时处理,如果一直按着按键不放会怎么样
作者: glinfei    时间: 2021-11-3 09:30
问题前边人都说了,我只是好奇,第三盏灯为啥会亮呢?你的Key_Scan()中的mode不是静态的,按说加不到2才对啊?
作者: AUG    时间: 2021-11-3 09:34
按键扫描有问题,你只做了低电平检测,也就是当你一直按着按键的时候,它会一直mode++;一直重复。
作者: AUG    时间: 2021-11-3 09:35
glinfei 发表于 2021-11-3 09:30
问题前边人都说了,我只是好奇,第三盏灯为啥会亮呢?你的Key_Scan()中的mode不是静态的,按说加不到2才 ...

可以到2不能到3
作者: 田所浩二单推人    时间: 2021-11-3 09:46
目前的代码和仿真情况

仿真.gif (289.74 KB, 下载次数: 56)

仿真.gif

修改代码.jpg (55.26 KB, 下载次数: 64)

修改代码.jpg

作者: AUG    时间: 2021-11-3 09:59
田所浩二单推人 发表于 2021-11-3 09:46
目前的代码和仿真情况

你的按键没有上拉,你仿真的时候你看KEY口的电压,没按下的时候是开漏的,你可以试试加个上拉。
作者: 田所浩二单推人    时间: 2021-11-3 11:21
AUG 发表于 2021-11-3 09:59
你的按键没有上拉,你仿真的时候你看KEY口的电压,没按下的时候是开漏的,你可以试试加个上拉。

上拉是这样的吗 仿真还是那样

上拉?.jpg (246.11 KB, 下载次数: 51)

上拉?.jpg

作者: AUG    时间: 2021-11-3 11:28
田所浩二单推人 发表于 2021-11-3 11:21
上拉是这样的吗 仿真还是那样

兄弟  你这叫上拉?  你好歹百度一下上拉啊。
作者: 田所浩二单推人    时间: 2021-11-3 11:58
AUG 发表于 2021-11-3 11:28
兄弟  你这叫上拉?  你好歹百度一下上拉啊。

找了Proteus该怎么做上拉更糊涂了 如果您是指把接地撤掉的话仿真还是不行
作者: AUG    时间: 2021-11-3 12:39
田所浩二单推人 发表于 2021-11-3 11:58
找了Proteus该怎么做上拉更糊涂了 如果您是指把接地撤掉的话仿真还是不行

就一个普通的IO上拉,你上拉的位置都不知道?你百度搜索上拉电路,或者按键上拉电路学习学习。你为啥还要加个proteus,跟这个又没啥关系。
作者: 田所浩二单推人    时间: 2021-11-3 13:28
AUG 发表于 2021-11-3 12:39
就一个普通的IO上拉,你上拉的位置都不知道?你百度搜索上拉电路,或者按键上拉电路学习学习。你为啥还要 ...

问题已解决 非常感谢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1