[DSP编程] 28335检测按键的问题

[复制链接]
 楼主| wangch_sh 发表于 2014-1-20 18:31 | 显示全部楼层 |阅读模式
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

粉丝
快速回复 在线客服 返回列表 返回顶部