|
/*
*********************************************************************************************************
* BSP_TimeDlyMs()
*
* Description : This function delay the exceution for specifi amount of miliseconds
*
* Argument(s) : dly_ms Delay in miliseconds
*
* Return(s) : none.
*
* Caller(s) : Application
*
* Note(s) : none.
*
*********************************************************************************************************
*/
void BSP_OS_TimeDlyMs (CPU_INT32U dly_ms)
{
CPU_INT16U ms;
CPU_INT16U sec;
OS_ERR err;
if (dly_ms > 10000u) { /* Limit delays to 10 seconds. */
dly_ms = 10000u;
}
if (dly_ms >= 1000u) {
ms = dly_ms / 1000u; // 问题1, 此处应该是使用 % 吧 ?? 因为1000/1000=1,到时1000ms最终变成了1ms , 领导看看我的理解对不对啊 ?????????
sec = dly_ms % 1000u; // 问题2, 此处应该是使用 / 吧 ?? 因为 1000%1000=0, 结果1000ms最终变成了0s
} else {
ms = dly_ms;
sec = 0u;
}
OSTimeDlyHMSM((CPU_INT16U) 0u,
(CPU_INT16U) 0u,
(CPU_INT16U) sec,
(CPU_INT32U) ms,
(OS_OPT ) OS_OPT_TIME_HMSM_STRICT,
(OS_ERR *)&err);
} |
|