打印

**lz说湖南人好斗,

[复制链接]
楼主: wxj1952
手机看帖
扫描二维码
随时随地手机跟帖
201
wxj1952|  楼主 | 2007-12-4 20:05 | 只看该作者 回帖奖励 |倒序浏览

打擂的不多。

以往那么多吹牛的高手都不见了?

使用特权

评论回复
202
dld2| | 2007-12-4 20:07 | 只看该作者

楼上,你不配

使用特权

评论回复
203
tage| | 2007-12-4 20:11 | 只看该作者

我是菜鸟,没上过os

是不是在执行那4个700ms的函数时,只记丢了几秒。

使用特权

评论回复
204
甄蔡组合| | 2007-12-4 20:19 | 只看该作者

什么叫OS !!请高人解释

使用特权

评论回复
205
zhou7209| | 2007-12-4 20:20 | 只看该作者

考一下试

1分钟到
071
05
05
072
05
073
05
074
05
delayms(200);
05
delayms(500);
05

......


这样只能保证一分钟跑60次f05
71--74函数内部不被打断

对错无所谓,写字就有分,以前老师都这样!

不过声明下,俺是支持os的,特别是程序大了,任务多了的时候.

使用特权

评论回复
206
农民讲习所| | 2007-12-4 20:30 | 只看该作者

顶级菜鸟

使用特权

评论回复
207
wxj1952|  楼主 | 2007-12-4 20:35 | 只看该作者

消消气

怎么老有人说题目出的不合理,自相矛盾......其实管他那么多干吗?人家出了3000元,凭什么要给你出一个又合理又容易做的题,再一遍遍地给你解释题意,干脆告诉你答案,送你3000元?

   有本事抓住出题人的不合理,利用它的漏洞,让他输得没话可说,这才是真高手,真君子。

使用特权

评论回复
208
zhou7209| | 2007-12-4 20:35 | 只看该作者

呵呵

如果rom够大
那就一句一句写下去吧!

使用特权

评论回复
209
农民讲习所| | 2007-12-4 20:41 | 只看该作者

LZ你老实说,你工作了多长时间?

使用特权

评论回复
210
tage| | 2007-12-4 20:43 | 只看该作者

感觉象脑筋急转弯

是不是那700ms的任务中调用(已经包含)了500ms那个任务。

使用特权

评论回复
211
wxj1952|  楼主 | 2007-12-4 20:47 | 只看该作者

感谢zhou7209关注

写得挺好的,主要问题是,OS的调度器可能不好实现这样的调度。调度器是顺序上行调度的,也就是以当前任务号为起始,然后看下一个任务是否就绪,这样,F071执行完肯定调度F072....然后回到秒F05。

如果你是裸奔程序,可能不好管理了,请看我的裸奔程序,当然也不一定合理。

使用特权

评论回复
212
zhou7209| | 2007-12-4 20:57 | 只看该作者

俺是裸奔的

各个函数时间是严格限定的
这样的话 for 一下就可以按时间运行,只要晶镇准确

使用特权

评论回复
213
wxj1952|  楼主 | 2007-12-4 20:59 | 只看该作者

回所长

其实所长一看我贴的答案,马上就能猜出我的工作年龄。不过所长您是说话有威信的长者,对那些小男人的随地吐痰的行为应该制止一下。

还有1952是我家门牌号码,下次出差到上海,到淮海中路1950弄里W家来玩。

使用特权

评论回复
214
fengyeu| | 2007-12-4 21:02 | 只看该作者

===等待各大裸奔高手出招。。。。。。。

===等待各大裸奔高手出招。。。。。。。

使用特权

评论回复
215
zhou7209| | 2007-12-4 21:03 | 只看该作者

凑热闹

这两天要出差去上海
......

使用特权

评论回复
216
bird777| | 2007-12-4 21:07 | 只看该作者

楼主看看满意吧

 while(1){
     if(F1Sec){
       F1Sec = 0;
       SecCounter++;
         if(SecCounter > 59){
             SecCounter = 0;
             XXCounter = 0;
             F07();    
         }
         if(XXCounter == 2) F08();
         if(XXCounter == 4) F09();
         if(XXCounter == 6) F10();
         F05();
         XXCounter++;
     }    
 }

保证1分钟F05执行60次
保证1分钟F07-F10能全部执行,不打断.
如果这个是正解,如果允许F05被打断,楼主交代问题没有说清楚.

使用特权

评论回复
217
农民讲习所| | 2007-12-4 21:18 | 只看该作者

面试题?

使用特权

评论回复
218
老狼| | 2007-12-4 21:25 | 只看该作者

看来搂主对嵌入式还是不是很了解

所谓的任务时间限制,必须要讲最小的时间片,而最小的时间片,又是由CPU的指令速度决定的,所谓的不能打断,不是说不能响应硬件中断,而是需要关心硬件中断程序占用的时间,例如,ARM的速度是51的几十倍到几百倍,大么如果用来实现你的系统,误差肯定要比你用51的小得多,(说这句话估计有人要扔砖头了,这个道理就像AD转换一样,精度高了)你那个所谓的几百毫秒的任务,在执行的过程中完全可以完全去响中断,00以毫秒定义中断(这个中断只要执行的够快),在程序执行中你根本感觉不到这个过程中响应了中断,

如果你就是要咬文嚼字的话,那就用OMAP59xx 做吧,一半是海水,一半是火焰!双核的!

或者选折一款内部集成 RTC的 MCU, 

使用特权

评论回复
219
小嘿| | 2007-12-4 21:38 | 只看该作者

我提个白痴问题

既然F01~F04是顺序执行而且不可中断不可抢占,每个运行花费700ms,那这和一个2800ms的F14有什么区别??

使用特权

评论回复
220
老狼| | 2007-12-4 21:41 | 只看该作者

我一直没明白楼主的意思

OS 的调度,如何调度,OS是靠什么进行的调度?OS的系统时间从何而来?无非是两个,要么时钟芯片,要么定时中断!OS只不过多了一只看不见的黑手!

使用特权

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

本版积分规则