zf_time.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. *****************************************************************************
  3. * @file zf_time.h
  4. * @author Zorb
  5. * @version V1.0.0
  6. * @date 2018-06-28
  7. * @brief 系统时间的头文件
  8. *****************************************************************************
  9. * @history
  10. *
  11. * 1. Date:2018-06-28
  12. * Author:Zorb
  13. * Modification:建立文件
  14. *
  15. *****************************************************************************
  16. */
  17. #ifndef __ZF_TIME_H__
  18. #define __ZF_TIME_H__
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. #include "stdbool.h"
  23. #include "stdint.h"
  24. /* 系统滴答周期(ms) */
  25. #define ZF_TICK_PERIOD 1
  26. /* 获取系统滴答数 */
  27. #define ZF_SYSTICK() ZF_getSystemTick()
  28. /* 获取系统时间(ms) */
  29. #define ZF_SYSTIME_MS() ZF_getSystemTimeMS()
  30. /* 系统延时(ms) */
  31. #define ZF_DELAY_MS(ms_) do \
  32. { \
  33. if (ms_ % ZF_TICK_PERIOD) \
  34. { \
  35. ZF_delayTick((ms_ / ZF_TICK_PERIOD) + 1); \
  36. } \
  37. else \
  38. { \
  39. ZF_delayTick(ms_ / ZF_TICK_PERIOD); \
  40. } \
  41. } while(0)
  42. /* 获取系统滴答数 */
  43. uint32_t ZF_getSystemTick(void);
  44. /* 获取系统时间(ms) */
  45. uint32_t ZF_getSystemTimeMS(void);
  46. /* 系统延时 */
  47. void ZF_delayTick(uint32_t tick);
  48. /* 系统滴答程序(需挂在硬件的时间中断里边) */
  49. void ZF_timeTick (void);
  50. #ifdef __cplusplus
  51. }
  52. #endif
  53. #endif /* __ZF_TIME_H__ */
  54. /******************************** END OF FILE ********************************/