|
如图任务消息队列函数
timeout, 参数
如果是等于0表示一直等待, 如果等于10 表示有10个系统节拍没有等到任务去进行一次唤醒
那么如果一直等待等于0,
p_msg = OSTaskQPend( 0,
OS_OPT_PEND_BLOCKING,
&msg_size,
&ts,
&err );
if ( err == OS_ERR_NONE )
{
macLED1_TOGGLE (); //切换 LED1 的亮灭状态
}
这时候如果等不到消息 就死等,那么执行它所在的任务,多久切换一次。
那么如果一直等待等于10,
p_msg = OSTaskQPend(1 0,
OS_OPT_PEND_BLOCKING,
&msg_size,
&ts,
&err );
if ( err == OS_ERR_NONE )
{
macLED1_TOGGLE (); //切换 LED1 的亮灭状态
}
这时候任务每10个系统节拍唤醒它一次, LED等 是10个系统节拍改变一次灯的状态吗, 还是它任务切换的节拍。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|