led.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*
  2. * @Description:
  3. * @Version: 2.0
  4. * @Author: Seven
  5. * @Date: 2022-06-14 14:01:56
  6. * @LastEditors: Seven
  7. * @LastEditTime: 2022-09-30 15:40:41
  8. */
  9. #include "led.h"
  10. #include "includes.h"
  11. uint16_t LED_STATUS = 0;
  12. uint8_t loraindex_led_flag = 0;//lora信道索引指示灯显示标记
  13. void LED_Init(void)
  14. {
  15. // rcu_periph_clock_enable(RCU_GPIOE);
  16. // gpio_init(GPIOE,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_14);
  17. //LED_RUN
  18. rcu_periph_clock_enable(LED_RUN_RCU);
  19. rcu_periph_clock_enable(LED_STATE_RCU);
  20. gpio_init(LED_RUN_PORT,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,LED_RUN_PIN);
  21. gpio_init(LED_STATE_PORT,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,LED_STATE_PIN);
  22. LED_RUN_OFF();
  23. LED_STATE_OFF();
  24. }
  25. //单个灯状态设置
  26. void Led_Single_State_Set(uint8_t led, uint8_t state)
  27. {
  28. if(!led)
  29. return;
  30. if(led>LED_NUM && led!=LED_ALL)
  31. return;
  32. if(state == LED_ON)
  33. {
  34. if(led == LED_ALL)
  35. LED_STATUS = 0xffff;
  36. else
  37. LED_STATUS |= 1<<(led-1);
  38. }
  39. else if(state == LED_OFF)
  40. {
  41. if(led == LED_ALL)
  42. LED_STATUS = 0;
  43. else
  44. LED_STATUS &= ~(1<<(led-1));
  45. }
  46. CH455H_LED_set(LED_STATUS);
  47. }
  48. //显示一个数的后4位
  49. void Data_last4bit_led(uint32_t data, uint8_t signal)
  50. {
  51. // int i;
  52. // int state = 0,signal_tmp = 0;
  53. uint16_t datap = data;
  54. datap &= 0x0f;
  55. if(signal == 0)
  56. {
  57. // signal_tmp = 0;
  58. LED_STATUS |= datap;
  59. }
  60. else
  61. {
  62. // signal_tmp = 4;
  63. LED_STATUS |= (datap<<4);
  64. }
  65. // for(i = 0; i < 4; i++)
  66. // {
  67. // state = (data>>i) & 0x00000001;
  68. // Led_Single_State_Set(i+signal_tmp,state);
  69. // printf("led=%d, state=%d\n",i+signal_tmp,state);
  70. // }
  71. CH455H_LED_set(LED_STATUS);
  72. }