为什么要学习ucos

[复制链接]
18120|97
 楼主| crazy2012 发表于 2013-10-3 22:00 | 显示全部楼层 |阅读模式
本帖最后由 crazy2012 于 2013-10-3 22:06 编辑

一直写裸机程序,最近在考虑学习下ucos系统。想知道什么情况下才有必要、有需要用ucos的。因为就目前我所做的东西来说都比较简单,都是裸机程序就可以了。我的疑问是究竟做什么样的东西的时候才会用到系统,我想用系统肯定是因为系统的某种好处吧。
linfeng24 发表于 2013-10-3 23:33 | 显示全部楼层
因为实时操作系统的执行效率和稳定性都比裸机跑高

评论

因为轮子比较大.小坑基本不倒.裸奔就像踩高跷,容易被小坑坑了  发表于 2013-10-8 22:12
哎,蛋疼的问题。。。。。。  发表于 2013-10-8 16:53
同意!刘翔背着你跨栏,肯定比他自己裸奔跑得要快,而且脚伤也会稳定得多的! ^_^  发表于 2013-10-5 15:34
谬论,拉出去打pp.  发表于 2013-10-3 23:58
chenbb8 发表于 2013-10-4 14:34 | 显示全部楼层
逻辑简单就不要用操作系统了,学习就例外吧。
 楼主| crazy2012 发表于 2013-10-4 17:53 | 显示全部楼层
chenbb8 发表于 2013-10-4 14:34
逻辑简单就不要用操作系统了,学习就例外吧。

学习?我们为什么要学习这个呢。
123de7 发表于 2013-10-4 18:11 | 显示全部楼层
关注中 。。。。。
i55 发表于 2013-10-4 19:02 | 显示全部楼层
程序写起来简单,任务调度扔给scheduler去搞,不费脑子。
ipman 发表于 2013-10-4 19:27 | 显示全部楼层
看项目复杂度
加油吧小鱼儿 发表于 2013-10-4 21:27 | 显示全部楼层
我是过来学习的!
MJM_WSY 发表于 2013-10-4 21:40 | 显示全部楼层
我也正在学习之中。。。感觉系统就是合理的分配CPU达到高效处理问题的一中方法,其实像是while+中断这种前后台的程序,要是执行很多东西的话是很费事的!
 楼主| crazy2012 发表于 2013-10-5 11:14 | 显示全部楼层
linfeng24 发表于 2013-10-3 23:33
因为实时操作系统的执行效率和稳定性都比裸机跑高

我的工程是一个流水灯程序,ucos比我用裸机跑还稳定?
 楼主| crazy2012 发表于 2013-10-5 11:14 | 显示全部楼层
ipman 发表于 2013-10-4 19:27
看项目复杂度

复杂程度?能否举个例子。
 楼主| crazy2012 发表于 2013-10-5 11:15 | 显示全部楼层
chenbb8 发表于 2013-10-4 14:34
逻辑简单就不要用操作系统了,学习就例外吧。

不要告诉我是为了找工作时候简历上面多一条自己会ucos,这个有啥意思。
slotg 发表于 2013-10-5 11:54 | 显示全部楼层
关注这个话题, 我自己也没用过操作系统, 也是很想知道在怎样的情况下会需要使用操作系统.

评论

看20楼的题目,用前后台试试 ^ _ ^  发表于 2013-10-5 21:00
KC_CEC 发表于 2013-10-5 12:56 | 显示全部楼层
我也一直没有用过UCOS这种大家常用的系统,一般来说一个合作式调度器加上状态机可以解决很多问题了

评分

参与人数 1威望 +4 收起 理由
xiaoyuan_ly + 4 操作系统本质上也是一个状态机,只是一个复.

查看全部评分

chenbb8 发表于 2013-10-5 17:31 | 显示全部楼层
crazy2012 发表于 2013-10-5 11:15
不要告诉我是为了找工作时候简历上面多一条自己会ucos,这个有啥意思。

可以写在简历上,这的确是有用的地方,如果能写到linux会更好,哈哈,现实点也是不错的。

但是会ucos不是说你会用ucos玩流水灯,而是你如何将一个复杂的系统分解成各个模块,
每个模块之间的关系如何,相互之间如何通讯,不用看你的开发板了,上面的东西只是多而已。
如果会用RTOS的话,ucos的几个构件能够简化设计的难度。
不过我的应用也不算复杂,用ucos当然会变简单,但现在用状态机+调度器也凑合,
while循环加标志位 这种设计方法在较复杂的系统上的应用就免了,我可是吃过大苦头:Q

每种设计方式都有其优缺点,只是演示流水灯的话,连状态机 标志位 前后台 都可以不用~
chenbb8 发表于 2013-10-5 17:53 | 显示全部楼层
多复杂用RTOS比较好啊,随便想个:
你老大交给你一个任务,有以下要求
1 通过按键操作的菜单,操作要求流畅,并可以通过长按上/下键连续切换菜单
2 菜单通过LCD屏幕显示,每次刷屏时间40MS,长时间不操作屏幕的时候需要关闭屏幕,关闭/开启屏幕时间200ms,期间不能插入别的指令
3 菜单设置好参数,进入启动模式后,当传感器有信号后,需要以500KHz的速度采集500K个18位的数据,不能有遗漏,触发传感器采集的时机随机,平均每天100次
4 对采集的数据进行运算,你的硬件全速处理500K个数据,需要10S
5 RS485通讯,波特率4800,视情况一次性最多要将处理后的20M个数据发送出去,通讯响应时间小于100ms
6 根据异常情况的不同,通过LED和PWM发出几种声光报警
 楼主| crazy2012 发表于 2013-10-5 18:20 | 显示全部楼层
chenbb8 发表于 2013-10-5 17:53
多复杂用RTOS比较好啊,随便想个:
你老大交给你一个任务,有以下要求
1 通过按键操作的菜单,操作要求流畅 ...

你说的这个任务,之前我用裸机都写过这样复杂程度的程序。
chenbb8 发表于 2013-10-5 18:29 | 显示全部楼层

RTOS编程优点就是爽快

crazy2012 发表于 2013-10-5 18:20
你说的这个任务,之前我用裸机都写过这样复杂程度的程序。

这个复杂程度和我之前用调度器+状态机的工程类似。
但是在这种裸机编程环境下,状态机用的实在是不爽 麻烦。
用RTOS的话,会简单很多。
1 按键中上等优先级 菜单中等优先级
2 屏幕中下等优先级,通过队列和菜单通讯
3 采集放到ISR
4 处理最下优先级
5 通讯优先级中下
6 警报处理中等 声音 和 光 中下
7 电量 等杂七杂八的东西最下
雪山飞狐D 发表于 2013-10-5 18:56 | 显示全部楼层
为了增加点简历的底气也不是不可以,学把
dong_abc 发表于 2013-10-5 20:53 | 显示全部楼层
crazy2012 发表于 2013-10-5 18:20
你说的这个任务,之前我用裸机都写过这样复杂程度的程序。

再出道题,来试试。:lol
John Lee<j.y.lee@yeah.net> 17:38:32
系统中有2个事件:E1、E2,和一个共享设备。

紧急处理(中断)部分:
2个事件都必须在0.5ms内响应,执行时间都为0.1ms。

滞后处理(任务)部分:
E1必须在10ms内完成,实际处理时间最短为5ms。
E2必须在50ms内完成,实际处理时间最短为20ms。

两个事件的滞后处理部分,都需要独占访问共享设备,但占用时间很短,都只有0.5ms。
@chenbb8  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

150

主题

939

帖子

9

粉丝
快速回复 在线客服 返回列表 返回顶部