12.4.3 RTX-51 Tiny的任务切换
8051单片机的CPU执行时间被RTX-51 Tiny内核划分为多个时间段,系统为每个任务分配一个时间段。在RTX-51 Tiny系统执行时,一个任务只能在其分配的时间段内执行,然后由RTX-51 Tiny内核切换到另一个任务执行。各个时间段的持续时间可以根据需要修改,在系统的配置文件CONF_TNY.A51中设置,对应的变量为TIMESHARING。
RTX-51 Tiny系统的循环任务切换允许“准平行”地执行多个循环或者任务。所谓“准平行”,也就是各个任务并不是一直并行运行的,而是各自在其预定的时间段内运行。由于各个任务切换的时间很短,因此可以看做“并行”运行。
除了由RTX-51 Tiny内核的时间段来切换任务外,也可以通过os_wait函数来通知RTX-51 Tiny允许另外一个任务来执行,这样便不用等待一个任务的时间段结束。os_wait函数在执行时,将当前执行的任务挂起,以等待一个特定的事件发生。在os_wait函数等待过程中,便可以执行任何其他的任务。