OpenEdv-开源电子网

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

新手,关于UCOS的疑问

[复制链接]

7

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-7-9
在线时间
9 小时
发表于 2016-8-26 18:03:11 | 显示全部楼层 |阅读模式
3金钱
请高手指点,非常感谢!

ucos 系统,我理解的多任务执行,比方说,高优先级的任务蜂鸣器报警先执行,执行到延时时释放对CPU的控制权,

此时低优先级的任务LED闪烁掌握CPU控制权,执行LED闪烁,而此时,蜂鸣器报警任务不受干扰,

而在单片机裸机中,像执行一个OLED显示任务时,led灯的闪烁会卡顿,(举个例子)。

也就是说,操作系统的执行不会妨碍外围(led灯、显示设备),

关于UCOS 的任务执行,比较晕,请高手指点!

我先学的单片机裸机,对操作系统的思维以单片机的想法去思考的,感觉不对,该怎么理解呢?

最佳答案

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

UCOS系统是单核操作系统,也就是无论什么情况之下都是一个任务在执行。 当一个任务处于等待状态下的时候,系统不会闲着,它会马上去处理另外一个就绪了的优先级最高的任务。 而跑裸机的时候,delay()函数是不会释放CPU资源的,它会让CPU空耗。 应该理解为操作系统能够更好的规划CPU的资源分配,让工作效率提高。 当然,如果任务不多,单任务的话直接上裸机效率是最高的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-8-26 18:03:12 | 显示全部楼层
UCOS系统是单核操作系统,也就是无论什么情况之下都是一个任务在执行。
当一个任务处于等待状态下的时候,系统不会闲着,它会马上去处理另外一个就绪了的优先级最高的任务。
而跑裸机的时候,delay()函数是不会释放CPU资源的,它会让CPU空耗。
应该理解为操作系统能够更好的规划CPU的资源分配,让工作效率提高。
当然,如果任务不多,单任务的话直接上裸机效率是最高的。
Try again and there is nothing left to say.
回复

使用道具 举报

7

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-7-9
在线时间
9 小时
 楼主| 发表于 2016-8-31 10:30:11 | 显示全部楼层
本帖最后由 星空仰望 于 2016-8-31 10:37 编辑
墨黥天 发表于 2016-8-29 08:11
UCOS系统是单核操作系统,也就是无论什么情况之下都是一个任务在执行。
当一个任务处于等待状态下的时候, ...

en , 我是初学,谢谢!
在任务中,也有delay()延时函数啊!
我看的战舰的ucos教程,里面的每个任务都是裸机的代码啊。
然后这样就在系统里跑了,此时这些延时函数怎么处理?
系统 裸机 CPU 的关系怎么能容易理解点啊?
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-8-31 14:46:18 | 显示全部楼层
系统任务中的裸机delay()函数由于定义了一个使用系统的宏定义,
使得它具备了任务切换的功能(具体是一段汇编入栈和出栈的代码)。
当程序运行到一个任务delay()的时候会将当前任务的状态存入堆栈中保存现场,
然后切换到当前任务优先级最高的任务运行,每一次delay()都会进行任务切换。
能够实现任务切换的还有一些别的函数,具体还是要多看书。
Try again and there is nothing left to say.
回复

使用道具 举报

7

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-7-9
在线时间
9 小时
 楼主| 发表于 2016-9-8 00:20:27 | 显示全部楼层
墨黥天 发表于 2016-8-31 14:46
系统任务中的裸机delay()函数由于定义了一个使用系统的宏定义,
使得它具备了任务切换的功能(具体是一段 ...

非常感谢!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 22:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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