文章目录
- 1. bsp_led.h
- 2.bsp_led.c
- 3. main.c
1. bsp_led.h
#ifndef _BSP_LED_H
#define _BSP_LED_H
#include "stm32f10x.h"
#define LED_G_GPIO_PIN GPIO_Pin_0
#define LED_G_GPIO_PORT GPIOB
#define LED_G_GPIO_CLK RCC_APB2Periph_GPIOB
#define ON 1
#define OFF 0
#define LED_G(a) if(a) GPIO_SetBits(LED_G_GPIO_PORT, LED_G_GPIO_PIN);else GPIO_ResetBits(LED_G_GPIO_PORT, LED_G_GPIO_PIN);
void LED_GPIO_CONFIG(void);
#endif
2.bsp_led.c
#include "bsp_led.h"
void LED_GPIO_CONFIG(void)
{
GPIO_InitTypeDef GPIO_InintStruct;
RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);
GPIO_InintStruct.GPIO_Pin = LED_G_GPIO_PIN;
GPIO_InintStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InintStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(LED_G_GPIO_PORT, &GPIO_InintStruct);
}
3. main.c
#include "stm32f10x.h"
#include "bsp_led.h"
void delay(uint32_t count)
{
for(; count!=0;count--);
}
int main(void)
{
LED_GPIO_CONFIG();
while(1)
{
LED_G(ON);
delay(0xFFFFFF);
LED_G(OFF);
delay(0xFFFFFF);
}
}