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. #include "typedefine.h"
  14. /****************************************
  15. *
  16. * Definitions & Macros
  17. *
  18. ****************************************/
  19. #define proc_cnt 5
  20. /***************************************
  21. *
  22. * Type Definations
  23. *
  24. ***************************************/
  25. /**
  26. * @brief Type of time task
  27. *
  28. */
  29. typedef struct
  30. {
  31. void (*const proc)(void); // process program
  32. SLONG timespan; // process period
  33. SLONG tick; // process tick
  34. } _op_;
  35. /****************************************
  36. *
  37. * Exported variable
  38. *
  39. ****************************************/
  40. extern _op_ Op[proc_cnt];
  41. /***************************************
  42. *
  43. * Function Definations
  44. *
  45. ***************************************/
  46. /**
  47. * @brief Event happens every 1ms
  48. *
  49. */
  50. void Event_1ms(void);
  51. /**
  52. * @brief Event happens every 5ms
  53. *
  54. */
  55. void Event_5ms(void);
  56. /**
  57. * @brief Event happens every 10ms
  58. *
  59. */
  60. void Event_10ms(void);
  61. /**
  62. * @brief Event happens every 10ms
  63. *
  64. */
  65. void Event_20ms(void);
  66. /**
  67. * @brief Event happens every 50ms
  68. *
  69. */
  70. void Event_100ms(void);
  71. /**
  72. * @brief Event happens every 100ms
  73. *
  74. */
  75. void Event_200ms(void);
  76. /**
  77. * @brief Update timer counter (Call in the interrupt)
  78. *
  79. */
  80. void TimingTaskTimerServer(void);
  81. /**
  82. * @brief Update process (Call in the main function)
  83. *
  84. */
  85. void TimingTaskLoopServer(void);
  86. void Signal_detect(void);
  87. #endif