OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7073|回复: 4

请教怎么在ucosII中实现微秒级的延时,同时求解原子哥延时中的疑问

[复制链接]

58

主题

288

帖子

1

精华

高级会员

Rank: 4

积分
813
金钱
813
注册时间
2012-3-29
在线时间
81 小时
发表于 2015-6-15 11:35:34 | 显示全部楼层 |阅读模式
5金钱


1、ucosii中怎么实现微秒级的延时呢,OSTimeDly();对ticks进行计数,我的计数是1ms一次,OSTimeDlyHMSM();最小是ms,如果进行微秒级的定时是用ucos的软件定时器吗?
2、原子哥的带ucos的延时,毫秒级的延时函数中我感觉第61行和上边if中的延时重复了,但是我在第60行加了个else使用ucos的时候不调用第61行的内容,但是感觉好像没什么变化,软件仿真加不加else一样,求高手指点为什么用了if中的系统延时还用下边的普通延时






最佳答案

查看完整内容[请看2#楼]

1、UCOS中实现微妙延时的方法我们的UCOS例程中已经讲过了。 2、你要明白的是OSTimeDly()会发起任务调度的,当执行到这里的时候就会切换到其他任务中去的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-6-15 11:35:35 | 显示全部楼层
1、UCOS中实现微妙延时的方法我们的UCOS例程中已经讲过了。
2、你要明白的是OSTimeDly()会发起任务调度的,当执行到这里的时候就会切换到其他任务中去的。
开往春天的手扶拖拉机
回复

使用道具 举报

58

主题

288

帖子

1

精华

高级会员

Rank: 4

积分
813
金钱
813
注册时间
2012-3-29
在线时间
81 小时
 楼主| 发表于 2015-6-17 09:09:58 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
2、延时发生了任务的调度,延时完成后还是会向下执行的吧
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-6-17 10:40:03 | 显示全部楼层
延时完成以后会将任务加入到就绪表中,下一次任务切换的时候就会在就绪表中查找优先级最高的就绪任务,然后切换到这个任务中上次被中断的地方接着运行
开往春天的手扶拖拉机
回复

使用道具 举报

58

主题

288

帖子

1

精华

高级会员

Rank: 4

积分
813
金钱
813
注册时间
2012-3-29
在线时间
81 小时
 楼主| 发表于 2015-6-18 16:44:17 | 显示全部楼层
回复【4楼】zuozhongkai:
---------------------------------
接着执行的话,delay_nus((u32)(nms*1000)); ,这句话会接着执行吧?,初次接触操作系统,有问的低级的问题请多包涵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-1 14:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表