非剥夺型占先式minOS_iccavr avr单片机 icc编译环境
源代码在线查看: 注意事项.txt
注意事项;
请注意一下;
1. 需要设置最大任务个数OS_MAX_TASKS > 你建立的任务个数。
2. 每个任务的优先级不能相等,并且其数值必须 < OS_MAX_TASKS 。
3. main()也是一个任务,在OS_CFG.H文件里默认设置为0,也可以修改。
4. OS内核定义了一个任务控制块数组OSTCB[OS_MAX_TASKS],它用于控制任务的运行。为了简洁处理,我
把任务优先级的值直接当作该数组的下标使用,所以任务优先级的值必须 < 最大任务个数OS_MAX_TASKS。
/*****************************************/
再解释一下任务控制块;
minOS内核定义了一个任务控制块数组OSTCB[OS_MAX_TASKS],它用于控制任务的运行。为了简洁处理,我把任务优先级的值直接当作该数组的下标使用,所以任务优先级的值必须 < 最大任务个数OS_MAX_TASKS。
例如,如果建立要两个任务,再加上main()任务总共就是3个任务。可以设置最大任务个数OS_MAX_TASKS为3 ,三个任务的优先级可以设置为0,1,2
当然也可以设置OS_MAX_TASKS为5 ,三个任务的优先级可以设置为0,2,4 ,这时候就会有两个任务控制块空闲,浪费存储器。
请大家多提意见啊
Arm_Base和hiberhe也帮我测试一下吧。