(1)ISR服务设备,代替给任务发送信号或者发送消息,μc/OS-III(通过POST调用)将POST调用放置到特殊的队列中,使高优先级的任务进行运行。这个任务称为ISR句柄任务。
(2)当ISR完成它的工作时,进行μc/OS-III的系统调用。
(3,4)由于ISR使得准备运行ISR句柄任务,则μc/OS-III切换到该任务。
(5,6)ISR句柄任务从消息队列中去除post调用,然后重新发布post调用。这次是在任务级,而不是在ISR级上。这个额外的步骤是保证中断禁止时间尽可能的短。
当两个以上的任务具有相同的优先级时,μc/OS-III允许使用一个任务运行一个预先定义的时间(叫做时间单元)。这个过程称为轮循调度或者时间片。
|