2483|5

6

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

任务切换问题 [复制链接]

本帖最后由 GLG110 于 2015-8-5 16:40 编辑

我刚学ucos 还不懂ucos编程技巧,请前辈们帮我看看下面问题,谢谢!

我有两个任务,时间任务和显示任务,例如当前时间为10:59,显示任务刚执行完显示小时,正要显示分钟时此时被优先级更高的“时间任务“抢占了,分钟进位变成11:00;时间任务执行接收后回到显示任务中显示分钟,此时岂不是显示成了额”10:00“ 显示错了,请问如果这类问题该如何预防啊?

最新回复

推荐你使用这个OS,你会发现,原来OS也可以这么简单 https://bbs.eeworld.com.cn/thread-470626-1-1.html  详情 回复 发表于 2015-8-6 10:55
点赞 关注

回复
举报

130

帖子

1

TA的资源

一粒金砂(高级)

推荐
 
如果你的时间任务执行完10:59后显示任务一直没有得到运行,碰巧得到运行时时间任务抢占了它,就会出现问题
但你不用担心,OS没有这么低的调度率.
利用互斥量与缓冲机制可完美解决
如:时间任务更新时间变量A(互斥的),显示任务每次都把变量A赋值给变量B(同一个互斥量),然后慢慢示变量B
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
samos2011 发表于 2015-8-6 00:22
如果你的时间任务执行完10:59后显示任务一直没有得到运行,碰巧得到运行时时间任务抢占了它,就会出现问题
...

谢谢您的指点,我明白你的意思,对我初学者来说不过感觉UCOS在应用全局变量时很不顺手……
 
 
 

回复

130

帖子

1

TA的资源

一粒金砂(高级)

4
 
非常了解你初学者的困惑,都是过来人,但如果你了解了设计模式的单一职责原则,你就不会困惑了,你设计一个任务,这个任务应该是要完成一件事,你所定义的资源都是为实现这件事而定义的,也可以理解为为你这个任务而定义的,不要把别的不相干的任务关联进来,要做到低耦合,高内聚.一个任务能完成的事情不要用两个任务做
 
 
 

回复

130

帖子

1

TA的资源

一粒金砂(高级)

5
 
推荐你使用这个OS,你会发现,原来OS也可以这么简单
https://bbs.eeworld.com.cn/thread-470626-1-1.html
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

6
 
谢谢你 !  不过我刚学UCOS再学其他的好像没什么时间  我再啃啃吧 !
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表