Timer_Module.c 643 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "Timer_Module.h"
  2. #include "CONFIG.h"
  3. // ¶¨Ê±Æ÷
  4. static uint32_t timer_ms = 0;
  5. void my_timer()
  6. {
  7. timer_ms++;
  8. }
  9. uint32_t get_time(void)
  10. {
  11. return timer_ms;
  12. }
  13. uint32_t get_time_diff(uint32_t time)
  14. {
  15. if(timer_ms >= time)
  16. {
  17. return timer_ms - time;
  18. }
  19. else
  20. {
  21. return 0xFFFFFFFF - time + timer_ms;
  22. }
  23. }
  24. uint32_t time_get_delay(struct TIMER_Struct * timer)
  25. {
  26. if(timer->flag == 0)
  27. {
  28. timer->flag = 1;
  29. timer->time = get_time();
  30. return 0;
  31. }
  32. else if(timer->flag == 1)
  33. {
  34. return get_time_diff(timer->time);
  35. }
  36. else
  37. {
  38. return 0;
  39. }
  40. }
  41. void time_clear(struct TIMER_Struct * timer)
  42. {
  43. timer->flag = 0;
  44. timer->time = 0;
  45. }