STM32 LED灯的另一种写法灯的另一种写法
STM32 LED灯的另一种写法
[cpp] view plain copy
#ifndef __BSP_LED_
#define __BSP_LED_
#include <MM32x103.h> // 这个换成STM32的库文件就行
#include "type.h"
//==================================================================================
#define LED1_RUN_GRP GPIOC
#define LED1_RUN_IDX GPIO_Pin_6
#define LED1_RUN_OFF() GPIO_ResetBits(LED1_RUN_GRP, LED1_RUN_IDX)
#define LED1_RUN_ON() GPIO_SetBits(LED1_RUN_GRP, LED1_RUN_IDX)
#define LED1_RUN_IS_OFF() GPIO_ReadOutputDataBit(LED1_RUN_GRP, LED1_RUN_IDX)
#define LED2_RUN_GRP GPIOA
#define LED2_RUN_IDX GPIO_Pin_11
#define LED2_RUN_OFF() GPIO_ResetBits(LED2_RUN_GRP, LED2_RUN_IDX)
#define LED2_RUN_ON() GPIO_SetBits(LED2_RUN_GRP, LED2_RUN_IDX)
#define LED2_RUN_IS_OFF() GPIO_ReadOutputDataBit(LED2_RUN_GRP, LED2_RUN_IDX)
#define LED3_RUN_GRP GPIOA
#define LED3_RUN_IDX GPIO_Pin_12
#define LED3_RUN_OFF() GPIO_ResetBits(LED3_RUN_GRP, LED3_RUN_IDX)
#define LED3_RUN_ON() GPIO_SetBits(LED3_RUN_GRP, LED3_RUN_IDX)
#define LED3_RUN_IS_OFF() GPIO_ReadOutputDataBit(LED3_RUN_GRP, LED3_RUN_IDX)
//==================================================================================
#define LED_COUNT 3 // LED个数自己定义
typedef enum
{
RED = 0x04,
GREEN = 0x02,
BLUE= 0x01
} led_t;
typedef struct
{
GPIO_TypeDef *GPIOx;
uint32_t pos;
} led_port_t;
//==================================================================================