找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2290|回复: 8
收起左侧

STM32程序为什么只要加上这些按键判断就没反应

[复制链接]
回帖奖励 1 黑币 回复本帖可获得 1 黑币奖励! 每人限 1 次
ID:859651 发表于 2021-7-9 22:13 | 显示全部楼层 |阅读模式
用的是野火的霸道f103zet6
我是想通过5个按键来进行调试  其中2个是开发板上的,我外接了3个按钮想通过按键方式进行调速。但只要加上3个if判断,前面2个if就会失效或者卡死。。。

代码附上 。。。向大佬们求助

代码有点凌乱,小白一枚
51hei图片_20210709220709.png

无线调速.7z

192.97 KB, 下载次数: 6

回复

使用道具 举报

ID:123289 发表于 2021-7-10 08:21 | 显示全部楼层
是不是上面要做的事还没的来得及做,下面的事件就发生了。
回复

使用道具 举报

ID:951464 发表于 2021-7-10 11:54 | 显示全部楼层
首先判断下是不是真的失效,还是只是运行通过了;然后外接的这几个GPIO口,有没有消抖,会不会和其他冲突了
回复

使用道具 举报

ID:859651 发表于 2021-7-10 16:44 | 显示全部楼层
yzwzfyz 发表于 2021-7-10 08:21
是不是上面要做的事还没的来得及做,下面的事件就发生了。

我试过把上面的2个if注释掉,只留下面3个if,结果还是一样 都是没反应的;我也试过不屏蔽(5个if都在)debug蓝色的三角形符号就到这里 if(Key_Scan(KEY3_GPIO_PORT, KEY3_GPIO_PIN) == KEY_ON)  ;
回复

使用道具 举报

ID:859651 发表于 2021-7-10 17:00 | 显示全部楼层
wwx123456 发表于 2021-7-10 11:54
首先判断下是不是真的失效,还是只是运行通过了;然后外接的这几个GPIO口,有没有消抖,会不会和其他冲突了 ...

我加了延时,结果还是一样的。。  我也换过其他的gpio
回复

使用道具 举报

ID:583948 发表于 2021-7-11 16:22 | 显示全部楼层
我个人觉得如果实在没法使用按键扫描那就改用按键中断吧,这样出错的机率会小点
回复

使用道具 举报

ID:859651 发表于 2021-7-15 19:18 | 显示全部楼层
zpwgf 发表于 2021-7-11 16:22
我个人觉得如果实在没法使用按键扫描那就改用按键中断吧,这样出错的机率会小点

好的,谢谢你提的建议
回复

使用道具 举报

ID:950257 发表于 2021-7-16 11:07 来自手机 | 显示全部楼层
第一 要延时消抖 第二 看看你外加的按键电路是把io拉低还是拉高 建议你io配置浮空输入试试,o
回复

使用道具 举报

ID:859651 发表于 2021-7-16 21:53 | 显示全部楼层
gain 发表于 2021-7-16 11:07
第一 要延时消抖 第二 看看你外加的按键电路是把io拉低还是拉高 建议你io配置浮空输入试试,o

好的  谢谢你的建议
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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