RtosTimer.cpp 587 B

12345678910111213141516171819202122232425262728
  1. #include "RtosTimer.h"
  2. #include <string.h>
  3. #include "cmsis_os.h"
  4. //#include "error.h"
  5. namespace rtos {
  6. RtosTimer::RtosTimer(void (*periodic_task)(void const *argument), os_timer_type type, void *argument) {
  7. #ifdef CMSIS_OS_RTX
  8. _timer.ptimer = periodic_task;
  9. memset(_timer_data, 0, sizeof(_timer_data));
  10. _timer.timer = _timer_data;
  11. #endif
  12. _timer_id = osTimerCreate(&_timer, type, argument);
  13. }
  14. osStatus RtosTimer::start(uint32_t millisec) {
  15. return osTimerStart(_timer_id, millisec);
  16. }
  17. osStatus RtosTimer::stop(void) {
  18. return osTimerStop(_timer_id);
  19. }
  20. }