求大侠帮看看这个程序,GPIO灯一闪一闪的

2019-10-11 14:13发布

求大侠帮我看看这个程序,本以为不按键的情况下LED灯会固定亮或者灭,但下到板子里在不按键的情况下为啥LED一闪一闪的?
[mw_shl_code=c,true]#define KEY GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include <stdio.h>
void delay(u32 num){
        u32 i=0;
                for(;i<num;i++);
}
int main(){
        GPIO_InitTypeDef GPIO_Structure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOB,ENABLE);
        GPIO_Structure.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_Structure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Structure.GPIO_Pin=GPIO_Pin_13;
        GPIO_Init(GPIOC,&GPIO_Structure);
        GPIO_ResetBits(GPIOC,GPIO_Pin_13);
        //初始化LED端口
        GPIO_Structure.GPIO_Mode=GPIO_Mode_IPU;
        GPIO_Structure.GPIO_Pin=GPIO_Pin_8;
        GPIO_Init(GPIOB,&GPIO_Structure);
        //初始化按键端口
        
        while(1){
                //GPIO_ResetBits(GPIOB,GPIO_Pin_11);
                if(KEY==1){
                        GPIOC->ODR^=GPIO_Pin_13;
                        delay(5000000);
                        break;
                //翻转端口方式
                }
               
                //GPIO_SetBits(GPIOB,GPIO_Pin_11);
                //delay(5000000);
               
        }
}[/mw_shl_code]

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。