搜索
bottom↓
回复: 6

ucosIII 能用延时函数进行任务调度,不能用OSIntExit进调度

[复制链接]

出0入0汤圆

发表于 2014-6-18 00:05:22 | 显示全部楼层 |阅读模式
本帖最后由 mruio 于 2014-6-18 00:29 编辑

ucosIII 能用延时函数进行任务调度,不能用OSIntExit进调度,当运行最低优先级的任务时,如果任务没有完成,
且理论上有高优先级任务就绪的时候,不能通过systick的中断进行任务切换
必须等到低优先级的任务运行到OSTimDly这些函数函数时才进行任务切换,
是什么原因呢?
systcik中断可以进入,但每次到查找最高优先级就绪任务时,都是返回当前任务,不能进入任务切换。。。

测试方法是在低优先级的任务加入一个死循环如for(;;);然后看其他任务还能不能运行。。。

阿莫论坛20周年了!感谢大家的支持与爱护!!

该献的血还是要献的。你不献他不献。难道让我去献? --- 出自坛友:lovejp1981

出0入0汤圆

 楼主| 发表于 2014-6-18 00:18:47 | 显示全部楼层
找了网上一些别人移植的都是一样,大家有没有试过啊,是大家对实时性要求不高,没有发现,还是我的移植有问题呢???

出0入0汤圆

发表于 2014-6-18 10:32:12 | 显示全部楼层
你这个就是移植或者配置的问题。

出0入0汤圆

发表于 2014-6-18 12:03:29 | 显示全部楼层
我怀疑你的优先级搞反了

出0入0汤圆

发表于 2014-6-18 14:10:34 | 显示全部楼层
我记得前几天看的资料里面提到ucos不支持时间片轮转的吧。应该也不属于抢占式哦。楼主继续测试,解决了说一下哈

出0入0汤圆

发表于 2014-6-18 14:25:08 来自手机 | 显示全部楼层
jzkn 发表于 2014-6-18 14:10
我记得前几天看的资料里面提到ucos不支持时间片轮转的吧。应该也不属于抢占式哦。楼主继续测试,解决了说一 ...

支持。II
不支持

出0入0汤圆

 楼主| 发表于 2014-6-18 23:49:15 | 显示全部楼层
官方例程出现同样的问题,我用的是stm32f103,例程的是107,这两个有区别吗?(在移植上)
还是操作系统里有配置可剥夺式和非可剥夺式任务调度???
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-1 18:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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