[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测评报告】11.用户按键在使用中的困惑

[复制链接]
2785|7
手机看帖
扫描二维码
随时随地手机跟帖
hu9jj|  楼主 | 2021-6-23 15:53 | 显示全部楼层 |阅读模式
#申请原创#

    我在测试过程中发现,核心板上的用户按键在识别过程中经常会出现误判现象,明明没有按下,程序在运行过程中却经常会接收到按键的低电平信号,类似按键一直没有弹起来,单片机一直运行在按键处理程序中。有时候偶尔按键也能正常使用,多数情况下不正常。
    根据用户手册的电路图,发现按键是通过一个限流电阻接入RC0引脚,没有发现有上拉电阻:
OPEN_03.jpg

    用万用表检测引脚电平,电压在1.35V左右(按下按键电压为0V):
key_01.jpg

    下面是测试的动画,可以看到按键按下时电压的变化情况:
Key_3.gif

    因此猜想也许是引脚的电平偏低,在阀值左右徘徊,所以造成程序误判。加上我在测试时扩展的部件较多,也许影响到供电电压的稳定。最后只好为RC0引脚添加了一个上拉电阻,这才彻底解决了这个问题。

使用特权

评论回复
lcczg| | 2021-6-23 16:38 | 显示全部楼层
本帖最后由 lcczg 于 2021-6-23 16:45 编辑

RC0内部弱上拉使能下看看 WPUx - Weak Pull-Up Control

使用特权

评论回复
hjl2832| | 2021-6-24 08:41 | 显示全部楼层
你得打开IO的内部上拉电阻,一般实际应用中,IO做按键检测,在按键两端还会并一个0.1uF 电容搞干扰。

使用特权

评论回复
hu9jj|  楼主 | 2021-6-24 09:32 | 显示全部楼层
我在初始化使用了下列代码,但没有效果。

   Key0_SetDigitalInput();
    Key0_WPU;

使用特权

评论回复
lcczg| | 2021-6-24 16:56 | 显示全部楼层
我的板子测得是3.3V。你只用CNANO板测测,排除外部电路问题。再不然按键坏了?

使用特权

评论回复
dql2015| | 2021-6-24 19:20 | 显示全部楼层
内部上拉电阻

使用特权

评论回复
hu9jj|  楼主 | 2021-6-25 08:55 | 显示全部楼层
    进行到MCC中将RC0配置为内部的上拉,测试就通过了,用不着加外部上拉电阻了,奇怪为什么一定要事先配置,而不能在初始化时用代码:Key0_WPU。

使用特权

评论回复
lcczg| | 2021-6-25 09:24 | 显示全部楼层
本帖最后由 lcczg 于 2021-6-25 09:38 编辑

应该程序冲突没配置成功,可以跟踪调试下。还有可能是IO口上的模拟功能没禁止掉,看下ANSELC。

使用特权

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

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

144

主题

1031

帖子

11

粉丝