我用28335读取按键,可是按下按键没反应。
正常的话指示灯应该有变化。
程序如下:
#define KEY1 (GpioDataRegs.GPBDAT.bit.GPIO41)
#define KEY2 GpioDataRegs.GPBDAT.bit.GPIO43
#define KEY3 GpioDataRegs.GPBDAT.bit.GPIO45
#define KEY4 GpioDataRegs.GPBDAT.bit.GPIO47
。。。。。。。。。。。。。。。。。。。。。。
GpioCtrlRegs.GPBDIR.bit.GPIO41=0; //四个按键
GpioCtrlRegs.GPBDIR.bit.GPIO43=0;
GpioCtrlRegs.GPBDIR.bit.GPIO45=0;
GpioCtrlRegs.GPBDIR.bit.GPIO47=0;
。。。。。。。。。。。。。。。。。。。。。。。。。。
if(KEY1==0)
{
DELAY_US(10000);
//if(KEY1==0)
while(KEY1);
LAMP_GREEN_ON;
}
if(KEY2==0)
{
DELAY_US(10000);
//if(KEY2==0)
while(KEY2==0);
LAMP_RED_ON;
}
if(KEY3==0)
{
DELAY_US(10000);
//if(KEY3==0)
while(KEY3==0);
LAMP_MIX_ON;
}
if(KEY4==0)
{
DELAY_US(10000);
//if(KEY4==0)
while(KEY4==0);
LAMP_OFF;
}
按下按键,IO口一直为高电平。
如果初始化时加上下面一句:
GpioCtrlRegs.GPBPUD.bit.GPIO41=1;
IO口就一直为低。
请高手指教,谢谢!
|