我收回“一只破宏,雕虫小技“,并再次为此事道歉。
我再次申明:请限于技术讨论,我几乎从不编辑我发过的帖子,请不要把我没说过的话强加到我头上,你可以再去查查我过去的帖子。关于宏问题,你如果认为所有公司的宏汇编都是以Intel为蓝本的,那么就是,如果你认为我写不出来,那么我写不出来,就此打住。
解答78楼的问题: 我不知道你没有看明白没有 中断驱动+状态机 这种结构运行原理。 1)timer interrupt 一般为5,10,20 ms,不会如此之长的240ms. 超过20 ms的task, 可以拆分成若干个状态。 2) call task2~call task8没有运行要求,每个task 仅仅消耗几条指令,对于使用了array, list,还可以直接把相应的函数指针清 0. 具体应用中,一般把state 0 作为直接返回的空状态,如果需要任务运行,只要简单的让 state = 1。
另外,wxj1952 你能否贴出一段你的程序,比如键盘处理,或是一些mcu 经常用到的模块,然后我可以给出 中断驱动+状态机 的做法,让大家比较一下不同结构的优点和不足。
|