打印

STM32F103 点亮LED的另一种写法

[复制链接]
207|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冷冻链|  楼主 | 2019-11-1 15:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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;  
  
//==================================================================================  
void GPIOConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIOMode_TypeDef GPIO_Mode);  
void LEDConfig((uint8_t value) // value:1/2/4 --- RED GREEN BLUE   
void LEDSet(uint8_t value);  
void LEDReset(uint8_t value);  
void LEDToggle(uint8_t value);  
  
#endif /* __BSP_LED_ */

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

397

主题

397

帖子

0

粉丝