要死,我哪个地方说过要3块表?
每个任务一个定时器是指你脑袋里记住的做每件事的时间,表当然还是一块!!!
现在也不是谈处理时间够不够的问题
比如每组灯:红灯亮,红灯灭,绿灯亮,绿灯灭,再红灯亮.......
第一组灯"红灯灭"的时间未完,还要等待(然后是要点亮绿灯),这时跑去照看第二组灯,假设第二组"绿灯亮"时间也没完,这时再回来:
这时时间到了,你知道这是什么意思吗?你这么知道是要亮红灯还是灭红灯抑或是对绿灯操作????????
这就要记住每组灯的控制状态,这其实就是状态机的道理,如前面所说,状态机有不方便的地方.
freego说得多任务(和多线程,多进程到底什么区别,一并讨教了)就是这个意思了,这里的两组红绿灯只是个最简单的例子,起码你要想到有100组,每组100个灯....呵呵!
操作系统里的多任务有种是用时间片的方式,在这里不合适的,另一种就可以了,遇到时间未到直接请求操作系统退出任务(线程/进程?)即可,不会浪费时间
我要的就是这种方式,但不用操作系统(资源,时间不够,项目不复杂,但东西多,用汇编都勉强够,想改用好点的MCU,用C编程).
但不管怎样,问:"只用"C能不能做到这点???(操作系统里用到汇编是不是包括解决这个问题) |
|