taskDelay (sysClkRateGet()*60);为何是延时60秒?怎么计算的?

booming 2006-09-19 03:36:45
taskDelay (sysClkRateGet()*60);为何是延时60秒?怎么计算的?

...全文
1598 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
h_bin16888 2006-11-04
  • 打赏
  • 举报
回复
看看bsp里面的××timer.c里面的时钟中断,你就明白了
findheart 2006-10-28
  • 打赏
  • 举报
回复
"Delay operations provide a simple mechanism for a task to sleep for a fixed
duration. Task delays are often used for polling applications. For example, to delay
a task for half a second without making assumptions about the clock rate, call:
taskDelay (sysClkRateGet ( ) / 2);
The routine sysClkRateGet( ) returns the speed of the system clock in ticks per
second."
weiking 2006-10-25
  • 打赏
  • 举报
回复
是让任务延时1s
sysClkRateGet()得到的是1s的ticks数
hyg2008 2006-10-13
  • 打赏
  • 举报
回复
不是cpu延迟1s,是调用taskDelay()的任务
booming 2006-09-20
  • 打赏
  • 举报
回复
sysClkRateGet()得到的是1s的ticks数

是不是可以这样理解,cpu延迟1s?
tyj_3 2006-09-19
  • 打赏
  • 举报
回复
sysClkRateGet()得到的是1s的ticks数
maplewasp 2006-09-19
  • 打赏
  • 举报
回复
STATUS taskDelay (int ticks);
参数的单位是ticks.

1 在configAll.h中定义了
#define SYS_CLK_RATE 60 /* default system clock rate */
2 在usrRoot()函数中调用sysClkRateSet (SYS_CLK_RATE); /* set system clock rate */
这样就相当于60ticks/s, 也可也改变每秒种的ticks.

3 所以taskDelay (sysClkRateGet()*60 是延时60秒

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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