这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请教Vxworks定时器的问题

共3条 1/1 1 跳转至

请教Vxworks定时器的问题

菜鸟
2007-01-19 21:38:02     打赏

创建定时器后,可以wdStart(),然后wdCancel(),一般是一次start对应一次cancel。如果是这样的可以吗?1start,1cancel,1又一次cancel,2start,是不是1又一次的cancel不会影响2start?1又一次的cancel不会导致系统死机?




关键词: 请教     Vxworks     定时器     问题    

菜鸟
2007-01-19 22:11:00     打赏
2楼
不会

菜鸟
2007-01-19 22:15:00     打赏
3楼

wd内部有状态记录的。

/*******************************************************************************
*
* windWdCancel - cancel a watchdog timer
*
* This routine cancels a watchdog, removing it from the timer queue if needed.
*
* NOMANUAL
*/

void windWdCancel
(
WDOG *wdId /* watch dog to cancel */
)
{

#ifdef WV_INSTRUMENTATION
/* windview - level 2 event logging */
EVT_TASK_1 (EVENT_WINDWDCANCEL, (int) wdId); /* log event */
#endif

if (wdId->status == WDOG_IN_Q)
{
Q_REMOVE (&tickQHead, &wdId->tickNode); /* remove from queue */
wdId->status = WDOG_OUT_OF_Q;
}
}

return (OK);
}


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]