打印

stm32中OSTimeDlyHMSM()问题

[复制链接]
2773|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuyunboba|  楼主 | 2011-9-28 15:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在这个程序中有条语句ticks = ((INT32U)hours * 3600L + (INT32U)minutes * 60L + (INT32U)seconds) * OS_TICKS_PER_SEC
              + OS_TICKS_PER_SEC * ((INT32U)milli + 1000L / OS_TICKS_PER_SEC) / 1000L;
我想请问下这是怎样计算节拍数的?OS_TICKS_PER_SEC * ((INT32U)milli + 1000L / OS_TICKS_PER_SEC) / 1000L这怎么理解?如果改变OS_TICKS_PER_SEC的值,这条语句会变吗?我是新手,还不是很会理解ucosii,请教高手指点
沙发
xuyunboba|  楼主 | 2011-10-10 17:01 | 只看该作者
没人理我?

使用特权

评论回复
板凳
610095871| | 2011-10-12 13:51 | 只看该作者
我想前面的就不用多说了 主要说毫秒的节拍的计算OS_TICKS_PER_SEC * ((INT32U)milli + 1000L / OS_TICKS_PER_SEC) / 1000L。 把1000当成1秒的话,那么500就是0.5秒  因为最后除以了一个1000,所以1000L / OS_TICKS_PER_SEC)相当于1节拍需要的毫秒数,这个我想主要是因为延时最少要一个节拍的原因吧,这样加上前面的milli  算出总共的毫秒数,这个毫秒数至少可以延时一个节拍,剩下的应该就好懂了,希望能帮到你

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

84

帖子

1

粉丝