6.修改Systick中断函数,主要是扫描任务中延时是否减为0,减为0时将任务就绪列表中的标志位设为1,该任务处于可执行状态。调用任务调度函数umTaskSched(),切换任务。
void SysTick_Handler(void)
{
int i;
for(i=0;i<TaskPrioNum;i++)
{
if(taskTable[i]->DelayTicks >0)
{
taskTable[i]->DelayTicks--;
}
else
{
BitMapSet(&TaskPrioBitmap,i);
}
}
umTaskSched();
}
|