初学者遇上按键问题

2019-07-20 21:18发布

本帖最后由 xuande 于 2016-7-13 15:23 编辑

准备写一个简单的按键函数,按键以后蜂鸣器开始闪烁,现在库函数成功,位带成功, 但是卡在寄存器了,函数如下
while(1)
{
    if(WK_UP==1)  
   {
      delay_ms(10);
      if(WK_UP==1)
   {   
    //GPIO_SetBits(GPIOF,GPIO_Pin_8);
   GPIOF->ODR|=1<<8;
   delay_ms(500);
   GPIOF->ODR&=~(1<<8);
   delay_ms(500);
     }
   }
}

RCC->AHB1ENR=1<<5;
GPIOF->MODER&=~(3<<8*2);
GPIOF->MODER|=1<<8*2;

GPIOF->OSPEEDR&=~(3<<8*2);
GPIOF->OSPEEDR|=3<<8*2;

GPIOF->OTYPER&=~(1<<8);
GPIOF->OTYPER|=0<<8;

GPIOF->PUPDR&=~(3<<8*2);
GPIOF->PUPDR|=2<<8*2;

GPIOF->ODR&=~(1<<8);
GPIOF->ODR|=0<<8;

按键无反应,把死循环中WK_UP的值改为0,便可以直接开始响了,说明还是在判断条件的,不明白什么问题,好像按键不工作额, 请朋友们解答。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。