打印
[DSP编程]

28335检测按键的问题

[复制链接]
1451|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gp, IO, GPIO, pi, Oct
我用28335检测按键,发现按键经常误动作,按一下响应两下。
程序如下:
#define KEY1     GpioDataRegs.GPBDAT.bit.GPIO40
。。。。。。。。。。。。。。。。。。。。。。。。。。
GpioCtrlRegs.GPBMUX1.bit.GPIO40 = 0;   //KEY1 IO功能
GpioCtrlRegs.GPBPUD.bit.GPIO40 = 1;    //禁止内部上拉引脚
GpioCtrlRegs.GPBCTRL.bit.QUALPRD1=0X2;   //采样周期=4*TSYSCLKOUT
GpioCtrlRegs.GPBQSEL1.bit.GPIO40=2;    //采用6个采样周期宽度限制
GpioCtrlRegs.GPBDIR.bit.GPIO40 = 0;    //输入
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
if(KEY1==0)     // 设置键
  {
   DELAY_US(70000);
   while(KEY1==0);
   CursorPosition_cnt++;
   
  }
电路图见附件。
请高手指教,谢谢!


相关帖子

沙发
zhangmangui| | 2014-1-20 18:51 | 只看该作者
应该是消抖动没做好
你可以按以下方法试试
if(KEY1==0)     // 设置键
  {
   DELAY_US(70000);
   if(KEY1==0)
   CursorPosition_cnt++;
   
  }

使用特权

评论回复
板凳
wangch_sh|  楼主 | 2014-1-20 20:06 | 只看该作者
好了,谢谢版主!

使用特权

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

本版积分规则

个人签名:为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

318

主题

2817

帖子

5

粉丝