打印

**lz说湖南人好斗,

[复制链接]
楼主: wxj1952
手机看帖
扫描二维码
随时随地手机跟帖
261

安慰LS:别人还是学生,别苛刻太多,要理解。

明白吗?理解很重要。

使用特权

评论回复
262
yxs1977| | 2007-12-5 10:17 | 只看该作者

出这个题的哥们不像搞技术的,倒像当领导的

使用特权

评论回复
263
dai_weis| | 2007-12-5 10:17 | 只看该作者

我画了个简图

不知道理解的是否正确,按照我的理解当分钟到来后,会出现F05与其他函数并行执行的问题,单片机本身不是并行处理器,不能同时处理多个东西,某个时刻下仅能处理一个,所以即使要求同时运行也要分时段执行,难道OS能超越这个限制?
我没有学过操作系统,原理不清,准备挨砖头了
让砖头来的更猛烈些吧。呵呵

使用特权

评论回复
264
wxj1952|  楼主 | 2007-12-5 10:43 | 只看该作者

回261楼所长

前面的帖子早就说过了,你认为700ms的函数不合理,那你就把它化为7ms/700us,化成7ms,时钟变秒表,从幼儿园变成农民所长了,能解了?

所以做不出来的人,不做就是了,保持沉默就是了。跟别人有什么关系?自己能力不行,怪别人。这原因那原因,自己总是高明。

另外,那些做不出来的人,别把自己的恼怒化为口水,吐出题的人。落后就承认落后,别挨了打,还要骂一句。有本事做题去。说什么话给自己留一条后路,别答案出来了,自己不好下台。

再说了,连所长都做不出来.就你们?还想超越所长?

使用特权

评论回复
265
农民讲习所| | 2007-12-5 10:47 | 只看该作者

俺是不屑与你一般见识

700ms啊,可以做多少事情,竟然要求关闭中断,不是幼稚园出来的是什么?
即使上OS,OS也会被你玩成幼稚园出来的OS。

使用特权

评论回复
266
农民讲习所| | 2007-12-5 10:49 | 只看该作者

如果这个帖子能放一个月,俺可以做个程序贴出来

现在就免了,免得被人利用了。

使用特权

评论回复
267
xwj| | 2007-12-5 10:52 | 只看该作者

呵呵,OS就是基于不断打断来实现"并行"的,LZ却偏偏要反其道

来要求个“不能打断”:-)

不能打断还用什么OS啊?
你停了OS的节拍或者把节拍设成700mS或其他的,那OS还有什么意义???

你的这个题,
要写个“不能打断”的程序,随便找个刚入门的程序员都能给你“裸奔”出来,
但用OS却偏偏难以实现,这不是和你的总标题用意完全相反吗?


而且逻辑上也是多处前后互相抵触
所以大家才说你根本就是自相矛盾。

这个贴确实与“利用失重现象宇航员也许就不会死”异曲同工,要是21ic人气旺说不定还真能撑到一万五千贴呢

呵呵^_^

使用特权

评论回复
268
农民讲习所| | 2007-12-5 10:58 | 只看该作者

如果这题到WINDOW上实现运行,估计WINDOW几分钟之内就崩溃了

700MS*4不能中断,所有调度、驱动全部等待,后果当然就是崩溃。

使用特权

评论回复
269
athlon64fx| | 2007-12-5 11:01 | 只看该作者

re:

你不过在玩一个拙劣的文字游戏,否则这里绝大部分人都可以在几分钟内写出来。

再次推荐“利用失重现象宇航员也许就不会死”。
相关链接:http://bbs.news.sina.com.cn/tableforum/App/view.php?bbsid=4&subid=2&fid=1549&tbid=2449

使用特权

评论回复
270
hbicecream| | 2007-12-5 11:51 | 只看该作者

hehe

“要求”说了,F071~F074运行必须顺序,不允许抢占。可以被调度


请教楼主,不允许抢占如何调度任务?
难道操作系统的时钟节拍、任务调度等程序可以不抢占CPU而实现?
你的700ms任务是关中断还是锁定任务调度?

使用特权

评论回复
271
athlon64fx| | 2007-12-5 11:58 | 只看该作者

还有人讨论。不要再谈500mS、700mS、中断之类的问题了,免得上圈套。
lz或者无知,或者无赖。很明显后者的可能性大。

使用特权

评论回复
272
hbicecream| | 2007-12-5 12:02 | 只看该作者

继续

700ms

如果禁止任务调度,那么OS无法保证500ms任务对齐秒计时,
那么在不考虑秒对齐时,裸奔更容易处理

如果是关中断,那么OS也没招,因为它也丢秒

使用特权

评论回复
273
hbicecream| | 2007-12-5 12:43 | 只看该作者

忘了说

如果关中断的话裸奔同样有办法,按照下列顺序
500ms
700ms    //
500ms
700ms    //
500ms
延时100ms
500ms
700ms    //
500ms 
700ms    //
500ms
延时100ms

安排分钟计时点的程序,可以保证500ms程序每秒都被执行,700ms程序顺序执行

使用特权

评论回复
274
风中De舞者| | 2007-12-5 13:28 | 只看该作者

看到置顶里有这个花了一个多小时才爬上来 不容易啊

还是宇航员不会死这个帖子有意思

使用特权

评论回复
275
ayb_ice| | 2007-12-5 13:34 | 只看该作者

随便说说

lz只是说“用单CPU做一个精确的时钟。”,没有说其它的处理必须用什么做。。。
所以答案很多,很简单。

使用特权

评论回复
276
dai_weis| | 2007-12-5 13:47 | 只看该作者

哈哈,那我就再用两个CPU

一个用来执行500ms的,一个用来执行4个700ms的,产生时钟的CPU通过IO与那两个的外部中断连接,分别产生秒触发和分触发。

使用特权

评论回复
277
qinshvjvn| | 2007-12-5 15:31 | 只看该作者

结果还是拥OS与反OS之争

无聊的贴

使用特权

评论回复
278
圆圈| | 2007-12-5 15:39 | 只看该作者

晕倒,翻了半天都是口水贴,世间真多~

没有OS也可以跑“多任务”的,关键是任务拆分+状态机设计。其最终目的也是底线就是将某个任务的等待时间合理利用起来!  另外再高一层,对于系统来说,如果多个任务在某时间内会出现集中处理,但很多实时要求却不高,而且cpu的平均负荷也还可以,那这时可通过适当缓冲来平抑这个cpu波峰负荷。 基本的多任务设计思想就是如此几种,也可作为分析能否用多任务模式替代的思考方法。

没有OS的话,简单情况下处理还是可以的,如果搞复杂点专业点,涉及到优先级,涉及到同步,涉及到异步,涉及到内存管理,信号量、消息、邮箱队列,当然还是OS好,毕竟专业的还是不一样的!! 不然那有那么多时间来写这块代码,而且还要复杂的测试~

使用特权

评论回复
279
seiya| | 2007-12-5 17:30 | 只看该作者

非要作把模特宇航员?

大家有时间不修身养性,或休练内功,却在这里与"有图谋不轨之嫌"之人斗障眼法,看来非要作把模特宇航员试飞不可!哎~!咋不跟日本工程师水拼啊?

使用特权

评论回复
280
huangqi412| | 2007-12-5 17:37 | 只看该作者

晕,俺就等lz公布答案列

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则