/* * @Description: * @Version: 2.0 * @Author: Seven * @Date: 2022-06-14 14:01:08 * @LastEditors: Seven * @LastEditTime: 2022-06-15 11:33:04 */ #ifndef __LED_H #define __LED_H #include "stm32f10x.h" #include "tools.h" extern uint8_t LED_STATUS; #define LED_ON 1 #define LED_OFF 0 #define LED0 0 #define LED1 1 #define LED2 2 #define LED3 3 #define LED4 4 #define LED5 5 #define LED6 6 #define LED7 7 #define LED8 8 #define LED_ALL 0xff //SCK->PE13, RCK->PE12, SER->PE11 #define LED_SCK_LOW() GPIO_ResetBits(GPIOE,GPIO_Pin_13) #define LED_SCK_HIGH() GPIO_SetBits(GPIOE,GPIO_Pin_13) #define LED_RCK_LOW() GPIO_ResetBits(GPIOE,GPIO_Pin_12) #define LED_RCK_HIGH() GPIO_SetBits(GPIOE,GPIO_Pin_12) #define LED_SER_LOW() GPIO_ResetBits(GPIOE,GPIO_Pin_11) #define LED_SER_HIGH() GPIO_SetBits(GPIOE,GPIO_Pin_11) ///// #define LED_RUN_ON() {GPIO_SetBits(GPIOE, GPIO_Pin_14);} #define LED_RUN_OFF() {GPIO_ResetBits(GPIOE, GPIO_Pin_14);} #define LED_RUN PEout(14) #define LED_ON_ALL() {GPIO_ResetBits(GPIOD, GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);\ GPIO_ResetBits(GPIOC, GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);} #define LED_OFF_ALL() {GPIO_SetBits(GPIOD, GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);\ GPIO_SetBits(GPIOC, GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);} #define LED0_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_12);} #define LED0_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_12);} #define LED1_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_13);} #define LED1_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_13);} #define LED2_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_14);} #define LED2_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_14);} #define LED3_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_15);} #define LED3_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_15);} #define LED4_ON() {GPIO_ResetBits(GPIOC, GPIO_Pin_6);} #define LED4_OFF() {GPIO_SetBits(GPIOC, GPIO_Pin_6);} #define LED5_ON() {GPIO_ResetBits(GPIOC, GPIO_Pin_7);} #define LED5_OFF() {GPIO_SetBits(GPIOC, GPIO_Pin_7);} #define LED6_ON() {GPIO_ResetBits(GPIOC, GPIO_Pin_8);} #define LED6_OFF() {GPIO_SetBits(GPIOC, GPIO_Pin_8);} #define LED7_ON() {GPIO_ResetBits(GPIOC, GPIO_Pin_9);} #define LED7_OFF() {GPIO_SetBits(GPIOC, GPIO_Pin_9);} #define SEND_LED_FLAG 1 #define RCV_LED_FLAG 0 //指示灯定义 #define TAX1_SEND_LED 0 #define TAX1_RCV_LED 1 #define TAX2_SEND_LED 2 #define TAX2_RCV_LED 3 #define DISPLAY_SEND_LED 4 #define DISPLAY_RCV_LED 5 #define LORA_SEND_LED 6 #define LORA_RCV_LED 7 #define TAX1_SEND_LED_TIME 300 //单位ms #define TAX1_RCV_LED_TIME 300 #define TAX2_SEND_LED_TIME 300 #define TAX2_RCV_LED_TIME 300 #define LORA_SEND_LED_TIME 300 #define LORA_RCV_LED_TIME 300 #define DISPLAY_SEND_LED_TIME 300 #define DISPLAY_RCV_LED_TIME 300 #define LED_RUN_FAST_TIME 300 #define LED_RUN_SLOW_TIME 500 #define LED_APP_TIME 500 #define LED_LORA_INDEX_TIME (3*1000) //lora信道指示灯显示时间 //升级指示灯 #define UPDATA_START_LED 3 #define UPDATA_MASTER_LED 2 #define UPDATA_SLAVE_LED 1 #define UPDATA_ONLOOKER_LED 0 #define PLAINTEXT_LED_TIME_MS 999 //明文 单位ms #define PLAINTEXT_LED_TIME_S 1 //明文 单位s #define CIPHERTEXT_LED_TIME 200 //密文 typedef struct _led_info { timeout_t run_led; timeout_t tax1_send_led; timeout_t tax1_rcv_led; timeout_t tax2_send_led; timeout_t tax2_rcv_led; timeout_t lora_rcv_led; timeout_t lora_send_led; timeout_t display_rcv_led; timeout_t display_send_led; timeout_t uninit_led; //未配置sn timeout_t tt_loraindex_led_state;//lora信道索引指示灯 }led_info_t; extern led_info_t led_info; extern uint8_t loraindex_led_flag; void LED_Init(void); void led_run_set(uint8_t led, uint8_t status); void led_info_init(void); void led_run(void); void Encryption_type_led_run_state(uint8_t state); void APP_edittion_led_run(void); void close_all_led(void); void ota_start_led_init(void); void led_start(uint8_t state); void Data_last4bit_led(uint32_t data, uint8_t signal); void Data_lastNbit_led(uint32_t data, uint8_t bit, uint8_t signal); void Led_Single_State_Set(uint8_t led, uint8_t state); #endif