hal_timer.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef SUNXI_HAL_TIMER_H
  2. #define SUNXI_HAL_TIMER_H
  3. #ifdef __cplusplus
  4. extern "C"
  5. {
  6. #endif
  7. #include <stddef.h>
  8. #include <stdint.h>
  9. #ifdef CONFIG_KERNEL_FREERTOS
  10. #else
  11. #include <rtthread.h>
  12. typedef rt_timer_t osal_timer_t;
  13. typedef void (*timeout_func)(void *parameter);
  14. #define OSAL_TIMER_FLAG_DEACTIVATED RT_TIMER_FLAG_DEACTIVATED
  15. #define OSAL_TIMER_FLAG_ACTIVATED RT_TIMER_FLAG_ACTIVATED
  16. #define OSAL_TIMER_FLAG_ONE_SHOT RT_TIMER_FLAG_ONE_SHOT
  17. #define OSAL_TIMER_FLAG_PERIODIC RT_TIMER_FLAG_PERIODIC
  18. #define OSAL_TIMER_FLAG_HARD_TIMER RT_TIMER_FLAG_HARD_TIMER
  19. #define OSAL_TIMER_FLAG_SOFT_TIMER RT_TIMER_FLAG_SOFT_TIMER
  20. #define OSAL_TIMER_CTRL_SET_TIME RT_TIMER_CTRL_SET_TIME
  21. #define OSAL_TIMER_CTRL_GET_TIME RT_TIMER_CTRL_GET_TIME
  22. #define OSAL_TIMER_CTRL_SET_ONESHOT RT_TIMER_CTRL_SET_ONESHOT
  23. #define OSAL_TIMER_CTRL_SET_PERIODIC RT_TIMER_CTRL_SET_PERIODIC
  24. #define OSAL_TIMER_CTRL_GET_STATE RT_TIMER_CTRL_GET_STATE
  25. osal_timer_t osal_timer_create(const char *name,
  26. timeout_func timeout,
  27. void *parameter,
  28. unsigned int time,
  29. unsigned char flag);
  30. int osal_timer_delete(osal_timer_t timer);
  31. int osal_timer_start(osal_timer_t timer);
  32. int osal_timer_stop(osal_timer_t timer);
  33. int osal_timer_control(osal_timer_t timer, int cmd, void *arg);
  34. #endif
  35. int hal_sleep(unsigned int secs);
  36. int hal_usleep(unsigned int usecs);
  37. int hal_msleep(unsigned int msecs);
  38. void udelay(unsigned int us);
  39. #ifdef __cplusplus
  40. }
  41. #endif
  42. #endif