裸奔情况下:先将1/2/3/4/5/6当作任务来分析,找到出最小时间片/6,作为主循环扫描的最大周期值. 其它的可以切割用最小时间片*N(N=1,....)来分时驱动. 比如 最小时间片18us(举个例子) while(1){ case 0:1() //处理小于3US ,18US执行1次 case 1:2() //处理小于3US ,18US执行1次 case 2:3() //处理小于3US ,18US执行1次 case 3:4() //处理小于3US ,18US执行1次 case 4:5() //处理小于3US ,18US执行1次 case 5:6() //处理小于3US ,18US执行1次 } |