1.任务可以是一个无限循环,或执行一次后被删除(代码不再运行)
2.多大64个任务,但4个最高优先级和4个最低优先级保留;
3.建立任务:OSTaskCreate() and OSTaskCreateExt(),后者是前者的扩展,提供附加功能。
4.task不能由ISR建立;
5.任务函数的写法,如下:
static void App_TaskStart(void* p_arg)
{
(void) p_arg; //预留的,目前没有使用;避免编译时出现“未使用的局部变量”警告
//初始化ucos时钟节拍
OS_CPU_SysTickInit(); /* Initialize the SysTick. */
#if (OS_TASK_STAT_EN > 0) //使能ucos 的统计任务
//----统计任务初始化函数
OSStatInit(); /* Determine CPU capacity. */
#endif
App_TaskCreate();//建立其他的任务
while (1)
{
OSTimeDlyHMSM(0, 0,1, 0);//1秒一次循环
}
}
或者也可以这样:
void rs485CheckTask(void *pdata){
uart1_init();
commCmdInit();
while(1){
cmdCheckPorc();
OSTimeDlyHMSM(0,0,0,100);
}
}