微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 野火学习板---按键扫描

野火学习板---按键扫描

时间:10-02 整理:3721RD 点击:
while大循环中,同时扫描K1、K2,怎么只能检测到按键K1,而检测不到K2   ?

可以把你的代码粘贴上来看看

int main(void)
{       
        /* config the led */
        LED_GPIO_Config();
        LED1_ON;
        LED2_OFF;
       
        /*config key*/
        Key_GPIO_Config();
       
        /* TIM3 PWM波输出初始化,并使能TIM3 PWM输出 */
        //         TIM3_PWM_Init();
        TIM3_GPIO_Config();
        TIM3_Mode_Config2();
       
        while (1)
        {       
                if( Key_Scan(GPIOC,GPIO_Pin_13) == KEY_ON  )
                {
                        /*LED2反转*/
                        LED2_TOGGLE;       
                }
               
                else if( Key_Scan(GPIOA,GPIO_Pin_0) == KEY_ON  )
                                {
                                        /*LED1反转*/
                                        LED1_TOGGLE;
                                }
                }
}

只能看到LED1的反转,
while (1)
        {       
                if( Key_Scan(GPIOC,GPIO_Pin_13) == KEY_ON  )
                {
                        /*LED2反转*/
                        LED2_TOGGLE;       
                }
//               
//                else if( Key_Scan(GPIOA,GPIO_Pin_0) == KEY_ON  )
//                                {
//                                        /*LED1反转*/
//                                        LED1_TOGGLE;
//                                }
                }如果这样,就能检测到LED2了

我是想把两个按键作为2个中断来用

这个是按键和LED的原理图


你的原理图上面的两个按键的IO,有一个是上拉,一个是下拉的,代码里面是有区别的......

ok了     谢谢各位的帮忙与指导

把else去掉,这不是else的关系

谢谢  问题已经解决了

我也遇到了这个问题,你是怎么解决的?请教一下

你好,我也遇到这样问题,请问是怎么解决的啊

现在已经记不清楚怎么解决的了  你可以把你的代码粘上来,大家一块来解决

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top