Browse Source

Fixes bsp/allwinner/libraries/sunxi-hal/hal/source/sdmmc/osal/os/RT-Thread/os_timer.c call to RT_TIMER_CTRL_SET_TIME

RT_TIMER_CTRL_SET_TIME expects a pointer to rt_tick_t (ticks).
period_tick is derived from periodMS (milliseconds) via rt_tick_from_millisecond
to ensure correct units are passed.
Yonggang Luo 3 months ago
parent
commit
5bba332e23

+ 2 - 1
bsp/allwinner/libraries/sunxi-hal/hal/source/sdmmc/osal/os/RT-Thread/os_timer.c

@@ -128,6 +128,7 @@ OS_Status OS_TimerStart(OS_Timer_t *timer)
 OS_Status OS_TimerChangePeriod(OS_Timer_t *timer, OS_Time_t periodMS)
 {
     rt_err_t ret;
+    rt_tick_t period_tick = rt_tick_from_millisecond(periodMS);
 
     OS_DBG("%s(), handle %p\n", __func__, timer->handle);
     OS_HANDLE_ASSERT(OS_TimerIsValid(timer), timer->handle);
@@ -139,7 +140,7 @@ OS_Status OS_TimerChangePeriod(OS_Timer_t *timer, OS_Time_t periodMS)
             return OS_FAIL;
         }
     }
-    ret = rt_timer_control(timer->handle, RT_TIMER_CTRL_SET_TIME, &periodMS);
+    ret = rt_timer_control(timer->handle, RT_TIMER_CTRL_SET_TIME, &period_tick);
     if (ret != RT_EOK) {
         OS_ERR("err %"OS_BASETYPE_F"\n", ret);
         return OS_FAIL;