stm32中OSTimeDlyHMSM()问题

[复制链接]
3240|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

粉丝
快速回复 在线客服 返回列表 返回顶部