U32 rt_suspend (void) { /* Suspend OS scheduler */ U32 delta = 0xFFFF; rt_tsk_lock(); if (os_dly.p_dlnk) { delta = os_dly.delta_time; } if (os_tmr.next) { if (os_tmr.tcnt < delta) delta = os_tmr.tcnt; } return (delta); }
U32 rt_suspend (void) { /* Suspend OS scheduler */ U32 delta = 0xFFFFU; #ifdef __CMSIS_RTOS U32 sleep; #endif rt_tsk_lock(); if (os_dly.p_dlnk) { delta = os_dly.delta_time; } #ifdef __CMSIS_RTOS sleep = sysUserTimerWakeupTime(); if (sleep < delta) { delta = sleep; } #else if (os_tmr.next) { if (os_tmr.tcnt < delta) delta = os_tmr.tcnt; } #endif return (delta); }