70 lines
1.7 KiB
C
70 lines
1.7 KiB
C
|
|
/*
|
||
|
|
* @Date: 2025-06-26 09:38:45
|
||
|
|
* @LastEditors: 路怀帅
|
||
|
|
* @LastEditTime: 2025-06-26 14:37:29
|
||
|
|
* @FilePath: \Andon_Remote_Control\MDK_PROJECT\Drive\Led.h
|
||
|
|
*/
|
||
|
|
#ifndef __LED_H
|
||
|
|
#define __LED_H
|
||
|
|
|
||
|
|
#include "main.h"
|
||
|
|
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
void (*Init)(void);
|
||
|
|
void (*Set)(volatile uint8_t led_x);
|
||
|
|
void (*GREEN_Toggle)(void);
|
||
|
|
void (*RED_Toggle)(void);
|
||
|
|
void (*BLUE_Toggle)(void);
|
||
|
|
void (*YELLOW_Toggle)(void);
|
||
|
|
|
||
|
|
} LEDClassStruct;
|
||
|
|
|
||
|
|
#define RED_ON GPIO_ResetBits(GPIOA, GPIO_Pin_6)
|
||
|
|
#define RED_OFF GPIO_SetBits(GPIOA, GPIO_Pin_6)
|
||
|
|
#define RED_TOG GPIOA->BSRR = ((GPIOA->ODR & GPIO_Pin_6) << 16) | (~GPIOA->ODR & GPIO_Pin_6)
|
||
|
|
#define GREEN_ON GPIO_ResetBits(GPIOA, GPIO_Pin_7)
|
||
|
|
#define GREEN_OFF GPIO_SetBits(GPIOA, GPIO_Pin_7)
|
||
|
|
#define GREEN_TOG GPIOA->BSRR = ((GPIOA->ODR & GPIO_Pin_7) << 16) | (~GPIOA->ODR & GPIO_Pin_7)
|
||
|
|
|
||
|
|
#define BLUE_ON GPIO_ResetBits(GPIOB, GPIO_Pin_0)
|
||
|
|
#define BLUE_OFF GPIO_SetBits(GPIOB, GPIO_Pin_0)
|
||
|
|
#define BLUE_TOG GPIOA->BSRR = ((GPIOB->ODR & GPIO_Pin_0) << 16) | (~GPIOB->ODR & GPIO_Pin_0)
|
||
|
|
|
||
|
|
#define ASR_Power_ON GPIO_SetBits(GPIOB, GPIO_Pin_8)
|
||
|
|
#define ASR_Power_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_8)
|
||
|
|
|
||
|
|
#define BOARD_Power_ON GPIO_SetBits(GPIOA, GPIO_Pin_1)
|
||
|
|
#define BOARD_Power_OFF GPIO_ResetBits(GPIOA, GPIO_Pin_1)
|
||
|
|
|
||
|
|
#define LED_ALL_ON RED_ON;GREEN_ON;BLUE_ON
|
||
|
|
#define LED_ALL_OFF RED_OFF;GREEN_OFF;BLUE_OFF
|
||
|
|
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
None = 0,
|
||
|
|
CHANGE_Ing, // 充电中
|
||
|
|
CHANGE_Full, // 充满
|
||
|
|
UNLOCK_HighBat, // 解锁高电量
|
||
|
|
UNLOCK_LowBat, // 解锁低电量
|
||
|
|
SEND_Success, // 发送成功
|
||
|
|
SEND_Fail, // 发送失败
|
||
|
|
} LED_State_Enum;
|
||
|
|
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BLACK = 0,
|
||
|
|
GREEN,
|
||
|
|
RED,
|
||
|
|
BLUE,
|
||
|
|
YELLOW,
|
||
|
|
WHITE
|
||
|
|
} LED_Color_Enum;
|
||
|
|
|
||
|
|
void ledBlinkTask(void);
|
||
|
|
extern LEDClassStruct LEDClass;
|
||
|
|
void ASR_Power_Init(void);
|
||
|
|
void BOARD_Power_Init(void);
|
||
|
|
|
||
|
|
#endif
|