初学者遇上按键问题

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,便可以直接开始响了,说明还是在判断条件的,不明白什么问题,好像按键不工作额, 请朋友们解答。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
正点原子
1楼-- · 2019-07-21 20:40
赵治羽 发表于 2016-7-13 17:36
我现在对STLINK还不怎么会用,也就明白怎么下程序,监测寄存器的值什么的操作还不造是个啥玩意儿

多摸索下吧,很容易掌握的
电子之旅
2楼-- · 2019-07-22 01:08
楼主,原子哥的入门视频有教的呀,跟j-link没啥太大差别的,只是下载速度最大只能到10M,仿真时最多能设5个断点。

一周热门 更多>