大侠你们好,我刚刚学习
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);
}
}
}
}
为什么不工作了。我很郁闷
LED灯是没有问题的
谢谢,确实是这个问题,谢谢您
一周热门 更多>