/* * @Description: * @Version: 2.0 * @Author: Seven * @Date: 2022-06-14 14:01:56 * @LastEditors: Seven * @LastEditTime: 2022-09-30 15:40:41 */ #include "led.h" #include "includes.h" uint16_t LED_STATUS = 0; uint8_t loraindex_led_flag = 0;//lora信道索引指示灯显示标记 void LED_Init(void) { // rcu_periph_clock_enable(RCU_GPIOE); // gpio_init(GPIOE,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_14); //LED_RUN rcu_periph_clock_enable(LED_RUN_RCU); rcu_periph_clock_enable(LED_STATE_RCU); gpio_init(LED_RUN_PORT,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,LED_RUN_PIN); gpio_init(LED_STATE_PORT,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,LED_STATE_PIN); LED_RUN_OFF(); LED_STATE_OFF(); } //单个灯状态设置 void Led_Single_State_Set(uint8_t led, uint8_t state) { if(!led) return; if(led>LED_NUM && led!=LED_ALL) return; if(state == LED_ON) { if(led == LED_ALL) LED_STATUS = 0xffff; else LED_STATUS |= 1<<(led-1); } else if(state == LED_OFF) { if(led == LED_ALL) LED_STATUS = 0; else LED_STATUS &= ~(1<<(led-1)); } CH455H_LED_set(LED_STATUS); } //显示一个数的后4位 void Data_last4bit_led(uint32_t data, uint8_t signal) { // int i; // int state = 0,signal_tmp = 0; uint16_t datap = data; datap &= 0x0f; if(signal == 0) { // signal_tmp = 0; LED_STATUS |= datap; } else { // signal_tmp = 4; LED_STATUS |= (datap<<4); } // for(i = 0; i < 4; i++) // { // state = (data>>i) & 0x00000001; // Led_Single_State_Set(i+signal_tmp,state); // printf("led=%d, state=%d\n",i+signal_tmp,state); // } CH455H_LED_set(LED_STATUS); }