timer.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /**
  2. * @file timer.h
  3. * @author chipsea
  4. * @brief
  5. * @version 0.1
  6. * @date 2020-11-30
  7. * @copyright Copyright (c) 2020, CHIPSEA Co., Ltd.
  8. * @note
  9. */
  10. #ifndef __TIMER_H__
  11. #define __TIMER_H__
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. #include "types.h"
  16. #include "cst92f2x.h"
  17. #define FREE_TIMER_NUMBER 2
  18. typedef enum{
  19. AP_TIMER_ID_5 = 5,
  20. AP_TIMER_ID_6 = 6,
  21. }UserTimer_e;
  22. enum{
  23. HAL_EVT_TIMER_5 = AP_TIMER_ID_5,
  24. HAL_EVT_TIMER_6 = AP_TIMER_ID_6,
  25. HAL_EVT_WAKEUP = 0x10,
  26. HAL_EVT_SLEEP
  27. };
  28. typedef void(*ap_tm_hdl_t)(uint8_t evt);
  29. int HalTimerInit(ap_tm_hdl_t callback);
  30. int HalTimerDeinit(void);
  31. int HalTimerSet(UserTimer_e timeId, uint32_t us);
  32. int HalTimerMaskInt(UserTimer_e timeId, bool en);
  33. int HalTimerStop(UserTimer_e timeId);
  34. __ATTR_SECTION_SRAM__ void HalTimer5IRQHandler(void);
  35. __ATTR_SECTION_SRAM__ void HalTimer6IRQHandler(void);
  36. extern void SetTimer(AP_TIM_TypeDef *TIMx, int time);
  37. extern void set_timer(AP_TIM_TypeDef *TIMx, int time);
  38. extern uint32_t ReadCurrentTime(void);
  39. extern uint32 ReadLLRemainderTime(void);
  40. extern uint32_t read_current_fine_time(void);
  41. #ifndef BASE_TIME_UINTS
  42. #define BASE_TIME_UNITS (0x3fffff)
  43. #endif
  44. #ifdef __cplusplus
  45. }
  46. #endif
  47. #endif