按键扫描程序,程序老是执行到按键判断语句时停止??

2019-07-31 16:10发布

按键扫描程序

#define S1 GpioDataRegs.GPADAT.bit.GPIOA0
void Scan_Key(void);        //扫描键盘
void Manage_Key1(void);
void main(void)
{   
        InitSysCtrl();  // 系统初始化子程序,在DSP28_sysctrl.c中
        DINT;                                    // 关闭总中断
   IER = 0x0000;                           // 关闭外设中断
   IFR = 0x0000;                           // 清中断标志       
   InitPieCtrl();                        //初始化PIE控制寄存器
   InitPieVectTable();                //使能PIE向量表
//  InitPeripherals();

    EALLOW;
   GpioMuxRegs.GPADIR.bit.GPIOA0=0;
        EDIS;

        while(1)
        {if((S1==0)|(S2==0)|(S3==0)|(S4==0))

                        Scan_Key();
        }   
}
void Scan_Key(void)      
{
        unsigned int i;
        for(i=0;i<10000;i++);    //键盘消抖动
        if(S1==0)
        {
                Manage_Key1();}
}
void Manage_Key1(void)
{
        flag1=flag1+1;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
xiaodaiDSP_2812
2019-07-31 22:42
siyida 发表于 2014-8-19 10:17
程序不完整;

没有全部复制上去,我现在主要是在判断按键是否按下那里卡住了,有解决办法没有,谢谢

一周热门 更多>