所以应用程序中为了确保时间准确性还是用定时器,可是内核中有很多地方如ipc.c中,都有通过rt_tick_get来获取时间差,不知道在回绕的时候有没有问题呢,以下面代码为例,出现回绕时,timeout就为0了。
/* if it's not waiting forever and then re-calculate timeout tick */
if (timeout > 0)
{
tick_delta = rt_tick_get() - tick_delta;
timeout -= tick_delta;
if (timeout < 0)
timeout = 0;
}
所以应用程序中为了确保时间准确性还是用定时器,可是内核中有很多地方如ipc.c中,都有通过rt_tick_get来获取时间差,不知道在回绕的时候有没有问题呢,以下面代码为例,出现回绕时,timeout就为0了。
/* if it's not waiting forever and then re-calculate timeout tick */
if (timeout > 0)
{
tick_delta = rt_tick_get() - tick_delta;
timeout -= tick_delta;
if (timeout < 0)
timeout = 0;
}
举报