OpenEdv-开源电子网

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

ucos能多个任务都处于毫秒延时中会出问题吗?

[复制链接]

38

主题

302

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
金钱
439
注册时间
2012-3-6
在线时间
5 小时
发表于 2015-1-3 19:23:57 | 显示全部楼层 |阅读模式
5金钱
Ucos现在我有三个任务。每个任务都有延时。现在出问题了。总是卡死在任务调度中(调试发现总在调度中),反正是在系统中卡死了。我怀疑是每个任务都处于DELAY_MS();延时函数中时候,会出现卡死的情况。

最佳答案

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

你的delay_ms开了os支持的么 如果没开的话   是会出问题的 需要把os支持的开了
ES?全称?Embedded?Show;ES是由众多嵌入式爱好者组织的一个团队,致力于带领学生进步,帮助毕业生找到工作,更重要的是在职的嵌入式工作者提供自主外包和创业的机会。(详情进群查看) ES的宗旨是:交流共享与合作发展。ES?QQ群?第三群:152820643?。群内论坛有很多嵌入式开发模块解决方案可以参考。进群的立马共享自己做的模块简介。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6684

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12613
金钱
12613
注册时间
2012-11-26
在线时间
3701 小时
发表于 2015-1-3 19:23:58 | 显示全部楼层
你的delay_ms开了os支持的么

如果没开的话   是会出问题的

需要把os支持的开了
学无止境
回复

使用道具 举报

16

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1292
金钱
1292
注册时间
2014-12-20
在线时间
534 小时
发表于 2015-1-4 09:53:53 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
任务中无延时,是不是就不能调动其他任务了?
回复

使用道具 举报

38

主题

302

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
金钱
439
注册时间
2012-3-6
在线时间
5 小时
 楼主| 发表于 2015-1-4 10:53:18 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
开了支持

#define  OS_CRITICAL_METHOD   3

#if OS_CRITICAL_METHOD == 3
#define  OS_ENTER_CRITICAL()  {cpu_sr = OS_CPU_SR_Save();}
#define  OS_EXIT_CRITICAL()   {OS_CPU_SR_Restore(cpu_sr);}
#endif

进入这个地方
void delay_ms(u16 nms)
{
if(OSRunning==TRUE)//如果os已经在跑了     
{   
if(nms>=fac_ms)//延时的时间大于ucos的最少时间周期 
{
    OSTimeDly(nms/fac_ms);//ucos延时
}
nms%=fac_ms; //ucos已经无法提供这么小的延时了,采用普通方式延时    
}
delay_us((u32)(nms*1000)); //普通方式延时 
}
ES?全称?Embedded?Show;ES是由众多嵌入式爱好者组织的一个团队,致力于带领学生进步,帮助毕业生找到工作,更重要的是在职的嵌入式工作者提供自主外包和创业的机会。(详情进群查看) ES的宗旨是:交流共享与合作发展。ES?QQ群?第三群:152820643?。群内论坛有很多嵌入式开发模块解决方案可以参考。进群的立马共享自己做的模块简介。
回复

使用道具 举报

38

主题

302

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
金钱
439
注册时间
2012-3-6
在线时间
5 小时
 楼主| 发表于 2015-1-4 10:55:48 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
具体现象是,三个中断,其中两个在延时中,然后第三个任务进入延时函数时候,就卡死在延时里面(在里面运行一直在循环。20MS过后还是在里面),这个时候其他两个任务不会运行。会卡几十秒。重启MCU以后,可以正常跑几次以后 。有一次会这样。不是每次都会卡死。
ES?全称?Embedded?Show;ES是由众多嵌入式爱好者组织的一个团队,致力于带领学生进步,帮助毕业生找到工作,更重要的是在职的嵌入式工作者提供自主外包和创业的机会。(详情进群查看) ES的宗旨是:交流共享与合作发展。ES?QQ群?第三群:152820643?。群内论坛有很多嵌入式开发模块解决方案可以参考。进群的立马共享自己做的模块简介。
回复

使用道具 举报

38

主题

302

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
金钱
439
注册时间
2012-3-6
在线时间
5 小时
 楼主| 发表于 2015-1-4 10:57:22 | 显示全部楼层
回复【3楼】BMN李:
---------------------------------
任务中无延时是不能调度其他任务。但是我这个是。任务进入延时中以后,不调度其他任务,一直在延时中。
ES?全称?Embedded?Show;ES是由众多嵌入式爱好者组织的一个团队,致力于带领学生进步,帮助毕业生找到工作,更重要的是在职的嵌入式工作者提供自主外包和创业的机会。(详情进群查看) ES的宗旨是:交流共享与合作发展。ES?QQ群?第三群:152820643?。群内论坛有很多嵌入式开发模块解决方案可以参考。进群的立马共享自己做的模块简介。
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2015-1-4 11:06:48 | 显示全部楼层
回标题:不会,链表机制不会受限于数量
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

10

主题

560

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1726
金钱
1726
注册时间
2014-6-27
在线时间
937 小时
发表于 2015-1-4 13:49:00 | 显示全部楼层
回复【4楼】a4615800:
---------------------------------
每个任务有延时没有问题的,不管怎样,你的每个任务都要调用UCOS的延时函数来调度,
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2015-1-4 14:33:48 | 显示全部楼层
如任务循环使用小延时,低优先级的任务无机会运行。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

38

主题

302

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
金钱
439
注册时间
2012-3-6
在线时间
5 小时
 楼主| 发表于 2015-1-4 17:10:39 | 显示全部楼层
回复【7楼】styleno1:
---------------------------------
OK ,可以确定不是延时导致的问题了。
ES?全称?Embedded?Show;ES是由众多嵌入式爱好者组织的一个团队,致力于带领学生进步,帮助毕业生找到工作,更重要的是在职的嵌入式工作者提供自主外包和创业的机会。(详情进群查看) ES的宗旨是:交流共享与合作发展。ES?QQ群?第三群:152820643?。群内论坛有很多嵌入式开发模块解决方案可以参考。进群的立马共享自己做的模块简介。
回复

使用道具 举报

38

主题

302

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
金钱
439
注册时间
2012-3-6
在线时间
5 小时
 楼主| 发表于 2015-1-26 09:53:45 | 显示全部楼层
回复【10楼】a4615800:
---------------------------------
系统中开的系统中断太多了。
ES?全称?Embedded?Show;ES是由众多嵌入式爱好者组织的一个团队,致力于带领学生进步,帮助毕业生找到工作,更重要的是在职的嵌入式工作者提供自主外包和创业的机会。(详情进群查看) ES的宗旨是:交流共享与合作发展。ES?QQ群?第三群:152820643?。群内论坛有很多嵌入式开发模块解决方案可以参考。进群的立马共享自己做的模块简介。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 12:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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