led.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /********************************* (C) РОТЕК ***********************************
  2. * @module led
  3. * @file led.h
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief led
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. /* Define to prevent recursive ----------------------------------------------*/
  13. #ifndef LED_H
  14. #define LED_H
  15. #include "stm32f4xx.h"
  16. typedef enum
  17. {
  18. GREEN_STATUS,
  19. RED_STATUS,
  20. } LED_NAMES_t;
  21. typedef enum
  22. {
  23. GREEN = 0,
  24. RED,
  25. YELLOW,
  26. } COLOR_t;
  27. typedef enum
  28. {
  29. TOGGLE_ON = 0,
  30. TOGGLE_OFF,
  31. } TOGGLE_t;
  32. typedef struct
  33. {
  34. COLOR_t color;
  35. TOGGLE_t toggle;
  36. } LED_STATE_t;
  37. /**
  38. * @brief
  39. */
  40. void LED_Init(void);
  41. /**
  42. * @brief Задача простой мигалки
  43. */
  44. void vTaskLedBlink(void *pvParameters);
  45. /**
  46. * @brief
  47. */
  48. void LED_On(LED_NAMES_t led);
  49. /**
  50. * @brief
  51. */
  52. void LED_Off(LED_NAMES_t led);
  53. /**
  54. * @brief Изменить состояние LED
  55. */
  56. void LED_Toggle(LED_NAMES_t led);
  57. /**
  58. * @brief
  59. */
  60. void API_LED_On(GPIO_TypeDef* port, uint16_t pin, uint8_t revers);
  61. /**
  62. * @brief
  63. */
  64. void API_LED_Off(GPIO_TypeDef* port, uint16_t pin, uint8_t revers);
  65. /**
  66. * @brief
  67. */
  68. void LED_SetStatusLedFreq(uint16_t freq);
  69. #endif /* #ifndef LED_H */
  70. /********************************* (C) РОТЕК **********************************/