28335检测按键的问题
我用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++;
}
电路图见附件。
请高手指教,谢谢!
应该是消抖动没做好
你可以按以下方法试试
if(KEY1==0) // 设置键
{
DELAY_US(70000);
if(KEY1==0)
CursorPosition_cnt++;
} 好了,谢谢版主!
页:
[1]