问个幼稚点的问题 UCOS切换任务是不是只有在当前任务自己延时、等待邮件、等待信号量、等待消息队列等这几个情况发生的时候才会执行任务调度?我原来以为每个时钟节拍都会检查调度一次任务,今天又看了下源码发现OSTimeTick里没有执行调度,只是把准备好的任务放进就绪表
望前辈指导!
今天再看了一下,原来节拍中断返回前会调用OSINTEX
IT函数,在这个函数里会发生高优先级任务切换.郁闷了半天~~
确实是这样的,每个袜肆时钟节拍系统会进行一次任务搏正切换,保证当前执行的任务永远是就绪表中的最高优先级任务。基好悔
会在OSIntExit中切换