农民讲习所 发表于 2007-12-5 10:10

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

明白吗?理解很重要。

yxs1977 发表于 2007-12-5 10:17

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

dai_weis 发表于 2007-12-5 10:17

我画了个简图

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

wxj1952 发表于 2007-12-5 10:43

回261楼所长

前面的帖子早就说过了,你认为700ms的函数不合理,那你就把它化为7ms/700us,化成7ms,时钟变秒表,从幼儿园变成农民所长了,能解了?<br /><br />所以做不出来的人,不做就是了,保持沉默就是了。跟别人有什么关系?自己能力不行,怪别人。这原因那原因,自己总是高明。<br /><br />另外,那些做不出来的人,别把自己的恼怒化为口水,吐出题的人。落后就承认落后,别挨了打,还要骂一句。有本事做题去。说什么话给自己留一条后路,别答案出来了,自己不好下台。<br /><br />再说了,连所长都做不出来.就你们?还想超越所长?

农民讲习所 发表于 2007-12-5 10:47

俺是不屑与你一般见识

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

农民讲习所 发表于 2007-12-5 10:49

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

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

xwj 发表于 2007-12-5 10:52

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

来要求个“不能打断”:-)<br /><br />不能打断还用什么OS啊?<br />你停了OS的节拍或者把节拍设成700mS或其他的,那OS还有什么意义???<br /><br />你的这个题,<br />要写个“不能打断”的程序,随便找个刚入门的程序员都能给你“裸奔”出来,<br />但用OS却偏偏难以实现,这不是和你的总标题用意完全相反吗?<br /><br /><br />而且逻辑上也是多处前后互相抵触<br />所以大家才说你根本就是自相矛盾。<br /><br />这个贴确实与“利用失重现象宇航员也许就不会死”异曲同工,要是21ic人气旺说不定还真能撑到一万五千贴呢<br /><br />呵呵^_^<br />

农民讲习所 发表于 2007-12-5 10:58

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

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

athlon64fx 发表于 2007-12-5 11:01

re:

你不过在玩一个拙劣的文字游戏,否则这里绝大部分人都可以在几分钟内写出来。<br /><br />再次推荐“利用失重现象宇航员也许就不会死”。 <br /> 相关链接:<a href='http://bbs.news.sina.com.cn/tableforum/App/view.php?bbsid=4&subid=2&fid=1549&tbid=2449'>http://bbs.news.sina.com.cn/tableforum/App/view.php?bbsid=4&subid=2&fid=1549&tbid=2449</a>

hbicecream 发表于 2007-12-5 11:51

hehe

“要求”说了,F071~F074运行必须顺序,不允许抢占。可以被调度<br /><br /><br />请教楼主,不允许抢占如何调度任务?<br />难道操作系统的时钟节拍、任务调度等程序可以不抢占CPU而实现?<br />你的700ms任务是关中断还是锁定任务调度?

athlon64fx 发表于 2007-12-5 11:58

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

hbicecream 发表于 2007-12-5 12:02

继续

700ms<br /><br />如果禁止任务调度,那么OS无法保证500ms任务对齐秒计时,<br />那么在不考虑秒对齐时,裸奔更容易处理<br /><br />如果是关中断,那么OS也没招,因为它也丢秒

hbicecream 发表于 2007-12-5 12:43

忘了说

如果关中断的话裸奔同样有办法,按照下列顺序<br />500ms<br />700ms&nbsp;&nbsp;&nbsp;&nbsp;//<br />500ms<br />700ms&nbsp;&nbsp;&nbsp;&nbsp;//<br />500ms<br />延时100ms<br />500ms<br />700ms&nbsp;&nbsp;&nbsp;&nbsp;//<br />500ms&nbsp;<br />700ms&nbsp;&nbsp;&nbsp;&nbsp;//<br />500ms<br />延时100ms<br /><br />安排分钟计时点的程序,可以保证500ms程序每秒都被执行,700ms程序顺序执行

风中De舞者 发表于 2007-12-5 13:28

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

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

ayb_ice 发表于 2007-12-5 13:34

随便说说

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

dai_weis 发表于 2007-12-5 13:47

哈哈,那我就再用两个CPU

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

qinshvjvn 发表于 2007-12-5 15:31

结果还是拥OS与反OS之争

无聊的贴

圆圈 发表于 2007-12-5 15:39

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

没有OS也可以跑“多任务”的,关键是任务拆分+状态机设计。其最终目的也是底线就是将某个任务的等待时间合理利用起来!&nbsp;&nbsp;另外再高一层,对于系统来说,如果多个任务在某时间内会出现集中处理,但很多实时要求却不高,而且cpu的平均负荷也还可以,那这时可通过适当缓冲来平抑这个cpu波峰负荷。&nbsp;基本的多任务设计思想就是如此几种,也可作为分析能否用多任务模式替代的思考方法。<br /><br />没有OS的话,简单情况下处理还是可以的,如果搞复杂点专业点,涉及到优先级,涉及到同步,涉及到异步,涉及到内存管理,信号量、消息、邮箱队列,当然还是OS好,毕竟专业的还是不一样的!!&nbsp;不然那有那么多时间来写这块代码,而且还要复杂的测试~

seiya 发表于 2007-12-5 17:30

非要作把模特宇航员?

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

huangqi412 发表于 2007-12-5 17:37

晕,俺就等lz公布答案列

页: 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23
查看完整版本: **lz说湖南人好斗,