rtx51-tiny中os_wait函数的用法 高手进来帮忙啊!急在线等!

thehighest2007 2007-03-11 09:45:39
在RTXTINY系统中,os_wait函数的应该怎么用啊,我看了好多教材都写千篇一律,没有一个能把这个问题说清楚的。。
书上说怎么说的:
char os_wait(
uchar event_sel, //要等待的事件
uchar ticks, //要等待的定时器滴答
uint dummy); //未使用的参数
从上面看这个函数应该有个返回值char.可是这个返回值是做什么用的呢?
而事件常数又分成
K_IVL 等待定时器滴答的间隔
K_SIG 等待一个信号
K_TMO 等待超时
上面3个具体是什么意思啊,教材没有说清楚。等待定时器滴答的间隔,指的是什么意思啊。等待一个信号又是指的是什么信号啊。等待超时是等待这个时间片用完的意思吗?
高手帮忙啊!!!不胜感激,用过的帮忙啊。谢谢谢谢谢谢谢谢谢谢!!!
...全文
1302 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
delin150 2011-11-01
  • 打赏
  • 举报
回复
我的理解是,一个滴答就是一个RTX51_TINY系统的一个时间片,这个时间片由定时器0定时产生,系统默认计数初值10000次,若单片机的晶振频率为12MHz时,那么1个时钟片的时间为0.01s;等待1个信号可以理解为:每个任务系统都会为他分配一个信号标志,该标志为0时,该任务则处于waiting状态,当其他任务中有一个 os_send_signal或在中断中有isr_send_signal函数给改任务发送一个信号时,则该任务设为人ready状态;其次
os_wait(k_ivl,10,0)时表示没10个时钟滴答运行一次,而os_wait(K_TMO,10,0)则表示10滴答时间在加上程序运行时间运行1次。
scmxj 2011-08-15
  • 打赏
  • 举报
回复
路过,学习中。。。。。
wumingruo3743 2011-08-15
  • 打赏
  • 举报
回复
这个没有返回值吧,一般的一个滴答是50ms,当然你可以改,直接 这样用os_wait(K_TMO,10)这样就是每500ms执行一次 啊,你也可以加上信号比如:os_wait(K_TMO+K_SIG,10,这样都可以的。

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧