• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

按键输入状态读取异常的问题

电子WWW 2019-05-01 浏览量:857

出现一个奇怪的问题,按键还没按下,程序就执行if判断里面的内容了,按键按下不松开,程序能停止在这while(!key_1),这是怎么回事?40.png

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 你的按键一直在低电平状态,你可以用万用表量一下,估计是你gpio配置的时候没有配置输入上拉模式,或者没用外部上拉电阻
    • 发布于 2019-05-01
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 你这个是按下按键Key_1为低电平, 程序 “Key_1==0” 和 “!Key_1”是完全相同的,都代表低电平的意思。

    你程序的执行如下:

        if(低电平)

        {

            pringf("...");

            while(低电平);  //如果是低电平就循环

        }

    • 发布于2019-05-01
    • 举报
    • 评论 0
    • 1
    • 0

  • 你应该配置是上拉,用来检测低电平的,我看你的程序没有问题的,按键是一个动作,你加了那个就是一个松手检测,没有问题的
    • 发布于2019-05-01
    • 举报
    • 评论 0
    • 1
    • 0

  • 这种要测一下对应IO的状态,有可能你的IO上面电平判断的状态有问题,按照你的程序,这个key_1变量应该是读取按键的电平,高电平为1,低电平为0,那么这个按键对应的应该是按下为低电平,放开为高电平才对
    • 发布于2019-05-02
    • 举报
    • 评论 0
    • 1
    • 0

  • 你的按键应该接的是地,所以直接能进去,还有按键消抖写错了,第二个判断应该是松开后的电平。
    • 发布于2019-05-02
    • 举报
    • 评论 0
    • 1
    • 0

相关问题

问题达人换一批

按键输入状态读取异常的问题