STM32按键检测

2019-07-14 20:07发布

大侠你们好,我刚刚学习STM32,这个程序为什么不工作
#include "stm32f10x.h"
#include "stm32_eval.h"
//#include <stdio.h>
#define        LED1_PIN               GPIO_Pin_6//¶¨ÒåLEDÒý½Å
#define        LED2_PIN               GPIO_Pin_7
#define        LED3_PIN               GPIO_Pin_8
#define        LED4_PIN               GPIO_Pin_9
#define KEY3_PIN               GPIO_Pin_0


#define         GPIO_KEY               GPIOA
#define  RCC_GPIO_KEY1          RCC_APB2Periph_GPIOA

#define         GPIO_LED                GPIOF        //¶¨ÒåGPIO×é
#define  RCC_GPIO_LED           RCC_APB2Periph_GPIOF   
//#define LEDON_GPIO_CLK         RCC_APB2Periph_GPIOB //·äÃùÆ÷LEDʹÓõÄGPIOʱÖÓ*/

GPIO_InitTypeDef GPIO_InitStructure;
ErrorStatus HSEStartUpStatus;

void Delay(vu32 nCount)
{
  for(; nCount != 0; nCount--);
}

void KEY_GPIO_config(void)
{
        RCC_APB2PeriphClockCmd(RCC_GPIO_KEY1, ENABLE);/*ʹÄÜLEDµÆʹÓõÄGPIOʱÖÓ*/
        GPIO_InitStructure.GPIO_Pin = KEY3_PIN;//|LED2_PIN |LED3_PIN|LED4_PIN;  //¿ØÖÆIOÒý½Å
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//ÉèÖÃÉÏÀ­ÊäÈë
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;  //¶¨ÒåʱÖÓ
        GPIO_Init(GPIO_LED, &GPIO_InitStructure);          
}

void LED_cofing(void)
{       
        RCC_APB2PeriphClockCmd(RCC_GPIO_LED, ENABLE);/*ʹÄÜLEDµÆʹÓõÄGPIOʱÖÓ*/
        GPIO_InitStructure.GPIO_Pin = LED1_PIN;//|LED2_PIN |LED3_PIN|LED4_PIN;  //¿ØÖÆIOÒý½Å
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//ÉèÖÃͨÓÃÍÆÍìÊä³ö
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //¶¨ÒåʱÖÓ
        GPIO_Init(GPIO_LED, &GPIO_InitStructure);      //¶¨ÒåGPIO×é       
}

int main(void)

{
        LED_cofing();
  KEY_GPIO_config();
       
  GPIO_SetBits(GPIO_LED, LED1_PIN);  

        while(1)
        {
                if(GPIO_ReadInputDataBit(GPIOA,KEY3_PIN ==0))
                {
                        Delay(0xffff);
                        if(GPIO_ReadInputDataBit(GPIOA,KEY3_PIN ==0))
                        {
                                GPIO_ResetBits(GPIO_LED, LED1_PIN);                                
                  }
           }
        }
}

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