led.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. #include "gpio.h"
  17. typedef enum
  18. {
  19. GREEN_STATUS,
  20. RED_STATUS,
  21. } LED_NAMES_t;
  22. typedef enum
  23. {
  24. GREEN = 0,
  25. RED,
  26. YELLOW,
  27. } COLOR_t;
  28. typedef enum
  29. {
  30. TOGGLE_ON = 0,
  31. TOGGLE_OFF,
  32. } TOGGLE_t;
  33. typedef struct
  34. {
  35. COLOR_t color;
  36. TOGGLE_t toggle;
  37. } LED_STATE_t;
  38. /**
  39. * @brief
  40. */
  41. void LED_Init(void);
  42. /**
  43. * @brief Задача простой мигалки
  44. */
  45. void vTaskLedBlink(void *pvParameters);
  46. /**
  47. * @brief
  48. */
  49. void LED_On(gpio_t pin);
  50. /**
  51. * @brief
  52. */
  53. void LED_Off(gpio_t pin);
  54. /**
  55. * @brief Изменить состояние LED
  56. */
  57. void LED_Toggle(gpio_t pin);
  58. /**
  59. * @brief
  60. */
  61. void LED_SetStatusLedFreq(uint16_t freq);
  62. #endif /* #ifndef LED_H */
  63. /********************************* (C) РОТЕК **********************************/