1. 移植ucos操作系统所包含的工程文件以及针对每个CPU所裁剪的工程文件。
2. OSInit();//初始化操作系统
3. OS_CPU_SysTickInit(168000000/OS_TICKS_PER_SEC);//初始化系统时钟,一秒钟多少个时间节拍
4. OSTaskCreate(LED1_Task,0,&LED1_TASK_STK[99] ,LED1_TASK_PRIO);//创建任务(任务函数,传参数(一般为void*0),任务堆栈,优先级(用户 程 序 中 不建 议 使 用 优先 级 0 , 1 ,2, 3 , 以 及 OS_LOWEST_PRIO-3, OS_LOWEST_PRIO-2,OS_LOWEST_PRIO-1, OS_LOWEST_PRIO。这些优先级uC/OS 系统保留,其余的56 个优先级提供给应用程序。))
创建任务函数返回值可判断任务是否创建成功:
OS_ERR_NONE: 创建成功。
OS_ERR_PRIO_EXIST: 所请求的优先级已经存在。
OS_ERR_PRIO_INVALID:prio 比OS_LOWEST_PRIO 高。
OS_ERR_NO_MORE_TCB: μC/ OS-II并没有任何更多的 OS_TCBs分配。
OS_ERR_TASK_CREATE_ISR:试图从ISR 创建任务,不允许。
在初始化任务堆栈时,堆栈的结构必须与CPU中断后寄存器入栈的顺序结构相同 :
ARM的CPU一般是递减的栈,对堆栈数组取地址时一般取尾地址。空间大小最少17*4;
扩展函数:INT8U OSTaskCreateExt(void (*task)(void *pd),
void *pdata,
OS_STK *ptos,
INT8U prio,<