[AT32F415]

代码必须加延时问题

[复制链接]
74|1
手机看帖
扫描二维码
随时随地手机跟帖
NEWTECHNOOB|  楼主 | 2023-1-9 11:57 | 显示全部楼层 |阅读模式
最近写了一个按键扫描程序,先在AT32F415RBT7-7的开发板上测试,代码没有问题可以完美运行,但是我把代码移植到CBT7上的工程里的时候功能死活无法实现,查来查去发现加个1ms延时就可以实现按键扫描功能,有没有大佬说说这是为啥啊?代码如下图,移植过后需要在if(KEY1()||KEY2())下面加1ms的延时才能运行。是因为我在移植后的KEY_SCAN里写了太多功能吗?
4587663bb901c9dfe7.jpg

使用特权

评论回复
NEWTECHNOOB|  楼主 | 2023-1-10 10:52 | 显示全部楼层
推测是两块板子的按键的工作方式不一样导致的,开发板是传统的机械开关,第二块板子是导电橡胶式按键。推测是导电橡胶式按键在按下的时候有波动,此时函数内不加延时的话,第二次查询按键状态可能正好处于波谷或者什么的,函数未被触发,直接跳过。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则