TimeTask_Event.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /**
  2. * @file TimeTask_Event.h
  3. * @author Zhang, Kai(zhangkai71@midea.com)
  4. * @brief Time task control
  5. * @version 0.1
  6. * @date 2021-09-27
  7. *
  8. * @copyright Copyright (c) 2021
  9. *
  10. */
  11. #ifndef TIMETEVENT_H
  12. #define TIMETEVENT_H
  13. /****************************************
  14. *
  15. * Definitions & Macros
  16. *
  17. ****************************************/
  18. #define proc_cnt 5
  19. /***************************************
  20. *
  21. * Type Definations
  22. *
  23. ***************************************/
  24. /**
  25. * @brief Type of time task
  26. *
  27. */
  28. typedef struct
  29. {
  30. void (*const proc)(void); // process program
  31. SLONG timespan; // process period
  32. SLONG tick; // process tick
  33. } _op_;
  34. /****************************************
  35. *
  36. * Exported variable
  37. *
  38. ****************************************/
  39. extern _op_ Op[proc_cnt];
  40. /***************************************
  41. *
  42. * Function Definations
  43. *
  44. ***************************************/
  45. /**
  46. * @brief Event happens every 1ms
  47. *
  48. */
  49. void Event_1ms(void);
  50. /**
  51. * @brief Event happens every 5ms
  52. *
  53. */
  54. void Event_5ms(void);
  55. /**
  56. * @brief Event happens every 10ms
  57. *
  58. */
  59. void Event_10ms(void);
  60. /**
  61. * @brief Event happens every 20ms
  62. *
  63. */
  64. void Event_20ms(void);
  65. /**
  66. * @brief Event happens every 100ms
  67. *
  68. */
  69. void Event_100ms(void);
  70. /**
  71. * @brief Event happens every 200ms
  72. *
  73. */
  74. void Event_200ms(void);
  75. /**
  76. * @brief Update timer counter (Call in the interrupt)
  77. *
  78. */
  79. void TimingTaskTimerServer(void);
  80. /**
  81. * @brief Update process (Call in the main function)
  82. *
  83. */
  84. void TimingTaskLoopServer(void);
  85. void Signal_detect(void);
  86. #endif