不过话说回来,确实有些心里话要说...原本是"入土"前的交代...
菜农一生清贫,不喜"群居"...所以朋友很少...因为"侃大山"确实太浪费时间了...
随没什么"武艺",但"坏点子"还是很多的...
说实话一般人跟不上我的思维~~~我的和朋友的几个研究生弟子也是如此...
俺近20年也没找到几个知音...(吹一下~~~)
因为俺脑子太邪了,连俺自己有很多时候都感到奇怪...
有些难题我知道要挡俺半个月...现在有"经验"了---干脆就不想,等半个月就成了...
当然,这半个月虽然没动手,但脑浆总在为此流淌着...
最近21IC砖风很紧~~~OS与裸奔的战斗很残酷~~~
说实话,在ARM上我用过OS,但MCU上俺绝不会用的,因为俺知道"扶贫"是需要代价的...
最头痛的就是任务的切换时间!!!当然还有任务级别,临界,互斥等"学名"的出现.
所长为了"扶贫",也推销"嵌入式裸奔"...
俺能否理解为回调和钩子等"术语"???请所长指教...
俺认为OS不过是一个"计算器",它不过是为了方便,减少脑浆的流失.
我们可能最放心使用它的延时挂起功能,说实话这里也有些协作的意思.
什么是弱实时???什么是强实时???什么是不实时???
什么时候可以互相转化???????????????????
OS的任务是事先不清楚的,对于不清楚任务肯定比事先清楚的处理要难得多.
所以谁要说OS比裸奔实时高,肯定是裸奔的人是菜鸟~~~
近几天俺逆向了一个C玩意~~~但可以看出"水平很高",但俺还认为他"小学"没毕业...
一个任务未完,再优先的任务也休想打断~~~放入队列里有什么用吗???
猛一来还真让人吓一跳~~~
满世界的教科书写法,...真不明白他的脑浆是怎么合成的.
在俺心中,随没什么"OS",但"零耗时键盘"就是菜农心中的"OS"~~~
它实际是基于时间片的可协作的"OS".
只要遵守约定,它没"OS"的临界,互斥..等诸多问题.
它的节拍就是键盘或LED的时间分割.我想这2个"材料"估计控制系统几乎都离不了.
你可以将跳变信号也理解为"键盘",LCD刷新理解为LED"动态刷新"...
总之,节拍很容易从系统部件中"取出"...
下来就是"任务的调度和切换"了....
可能有人认为这样的时间片不能满足要求,长时间操作会不协作的,会导致系统时间累积误差的产生.
实际很难也几乎是不可能的,因为没有21IC大战300楼不让中断的~~~
假使有20个键,8个LED,1个LCD,.....
那么我们可以20mS/20键=1mS作为系统的节拍.
那么就要求每个键盘任务必须要在1mS内完成!!!!!!
可能有人会问:那其他任务呢????
“零耗时键盘”实际是一种时间片轮巡机制,每个"任务"独自占用一个执行位.
全部占满是有的---压住所有键不放~~~
那么也是20mS+20mS=40mS.其他任务在40mS后即可加入运行.
但要注意这是全部压键且每个键盘任务都执行耗时1mS.
难道这样的事情会发生吗???---估计只有在火星上能出现~~~
即使每个节拍内都有键盘任务发生,只要是有一个任务不饱满或不实际操作.
那么其他任务就有机会介入!!!
由于大部分键盘都是处于等待状态,即空闲任务.那么其他任务不就想一般的
裸奔一样地"奔跑"了吗???
所以,这就是“零耗时键盘”可以当作OS看待的一个真正的原因所在!!!
它的精华在于"扫而不描",可以很轻松地实现任意复杂的键盘组合操作,甚至
做到"密码顺序键盘"...
如果我们任务能事先分配合理,能忍让地将强弱实时互相转化.
那么俺在2K的MCU上用OS还是其他裸奔还是“零耗时键盘”,自己心里最明白~~~
要上班了~~~俺不想"比拼"谁~~~因为谁都是俺可以跪拜的老师---只要他学过~~~
相关链接:https://bbs.21ic.com/club/bbs/showEssence.asp?id=8907 |