找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1353|回复: 14
收起左侧

stm32f103r6单片机使用C语言switch语句和按钮做流水灯相关问题

[复制链接]
ID:893765 发表于 2021-11-2 21:59 | 显示全部楼层 |阅读模式
本来是要按钮按一次灯左移一位亮 但仿真上灯全亮
主要代码如图 麻烦大佬们了
代码.jpg
回复

使用道具 举报

ID:405850 发表于 2021-11-3 08:10 | 显示全部楼层
是不是缺少了做按键消抖
回复

使用道具 举报

ID:405850 发表于 2021-11-3 08:11 | 显示全部楼层
灯每次亮了要把上一次状态清除的把
回复

使用道具 举报

ID:893765 发表于 2021-11-3 08:44 | 显示全部楼层
 发表于 2021-11-3 08:11
灯每次亮了要把上一次状态清除的把

switch语句还需要这样吗
回复

使用道具 举报

ID:592807 发表于 2021-11-3 09:00 | 显示全部楼层

你流水亮第二个灯之前,先吧第一个灯关了,还有你按键没有延时处理,如果一直按着按键不放会怎么样
回复

使用道具 举报

ID:844772 发表于 2021-11-3 09:30 | 显示全部楼层
问题前边人都说了,我只是好奇,第三盏灯为啥会亮呢?你的Key_Scan()中的mode不是静态的,按说加不到2才对啊?
回复

使用道具 举报

ID:313048 发表于 2021-11-3 09:34 | 显示全部楼层
按键扫描有问题,你只做了低电平检测,也就是当你一直按着按键的时候,它会一直mode++;一直重复。
回复

使用道具 举报

ID:313048 发表于 2021-11-3 09:35 | 显示全部楼层
glinfei 发表于 2021-11-3 09:30
问题前边人都说了,我只是好奇,第三盏灯为啥会亮呢?你的Key_Scan()中的mode不是静态的,按说加不到2才 ...

可以到2不能到3
回复

使用道具 举报

ID:893765 发表于 2021-11-3 09:46 | 显示全部楼层
目前的代码和仿真情况
仿真.gif
修改代码.jpg
回复

使用道具 举报

ID:313048 发表于 2021-11-3 09:59 | 显示全部楼层

你的按键没有上拉,你仿真的时候你看KEY口的电压,没按下的时候是开漏的,你可以试试加个上拉。
回复

使用道具 举报

ID:893765 发表于 2021-11-3 11:21 | 显示全部楼层
AUG 发表于 2021-11-3 09:59
你的按键没有上拉,你仿真的时候你看KEY口的电压,没按下的时候是开漏的,你可以试试加个上拉。

上拉是这样的吗 仿真还是那样
上拉?.jpg
回复

使用道具 举报

ID:313048 发表于 2021-11-3 11:28 | 显示全部楼层
田所浩二单推人 发表于 2021-11-3 11:21
上拉是这样的吗 仿真还是那样

兄弟  你这叫上拉?  你好歹百度一下上拉啊。
回复

使用道具 举报

ID:893765 发表于 2021-11-3 11:58 | 显示全部楼层
AUG 发表于 2021-11-3 11:28
兄弟  你这叫上拉?  你好歹百度一下上拉啊。

找了Proteus该怎么做上拉更糊涂了 如果您是指把接地撤掉的话仿真还是不行
回复

使用道具 举报

ID:313048 发表于 2021-11-3 12:39 | 显示全部楼层
田所浩二单推人 发表于 2021-11-3 11:58
找了Proteus该怎么做上拉更糊涂了 如果您是指把接地撤掉的话仿真还是不行

就一个普通的IO上拉,你上拉的位置都不知道?你百度搜索上拉电路,或者按键上拉电路学习学习。你为啥还要加个proteus,跟这个又没啥关系。
回复

使用道具 举报

ID:893765 发表于 2021-11-3 13:28 | 显示全部楼层
AUG 发表于 2021-11-3 12:39
就一个普通的IO上拉,你上拉的位置都不知道?你百度搜索上拉电路,或者按键上拉电路学习学习。你为啥还要 ...

问题已解决 非常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表