1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| #include "LED.h" #include "SharedData.h"
uint16_t LD_state = 0; uint16_t LD_state_before = 0;
void LED_init(void){ HAL_GPIO_WritePin(LD1_GPIO_Port,GPIO_PIN_All,GPIO_PIN_SET); HAL_GPIO_WritePin(LD_load_GPIO_Port,LD_load_Pin,GPIO_PIN_SET); HAL_GPIO_WritePin(LD_load_GPIO_Port,LD_load_Pin,GPIO_PIN_RESET); }
void LED_lightLD(uint8_t LDnum){ LD_state |= (LD1_Pin << LDnum); }
void LED_closeLD(uint8_t LDnum){
LD_state &= ~(LD1_Pin << LDnum); }
void Call_ChangeLD(void(*fc)(uint8_t),uint8_t LDnum){ LDnum -= 1; fc(LDnum); if(LD_state_before != LD_state){ HAL_GPIO_WritePin(LD_load_GPIO_Port,LD_load_Pin,GPIO_PIN_SET); HAL_GPIO_WritePin(LD1_GPIO_Port,GPIO_PIN_All,GPIO_PIN_SET); HAL_GPIO_WritePin(LD1_GPIO_Port,LD_state,GPIO_PIN_RESET); HAL_GPIO_WritePin(LD_load_GPIO_Port,LD_load_Pin,GPIO_PIN_RESET); LD_state_before = LD_state; } else return; }
void LED_Fuc(void){
if(Read_Show_index(0)) { Call_ChangeLD(LED_closeLD,1); Call_ChangeLD(LED_lightLD,2); } else { Call_ChangeLD(LED_closeLD,2); Call_ChangeLD(LED_lightLD,1); } if(Read_Show_index(1)){ Call_ChangeLD(LED_lightLD,8); } else Call_ChangeLD(LED_closeLD,8); }
|