1.在ucos-iii下创建自己的任务
1.在工程文件下创建APP文件夹,在文件夹里创建app.c和.h文件
2.可以把OSTaskCreat()这个里面创建任务的搬过来 再对照手册进行参数的修改 就可以创建出自己的任务
OSTaskCreate((OS_TCB *)&OSIdleTaskTCB,
(CPU_CHAR *)((void *)"uC/OS-III Idle Task"),
(OS_TASK_PTR)OS_IdleTask,
(void *)0,
(OS_PRIO )(OS_CFG_PRIO_MAX - 1u),
(CPU_STK *)OSCfg_IdleTaskStkBasePtr,
(CPU_STK_SIZE)OSCfg_IdleTaskStkLimit,
(CPU_STK_SIZE)OSCfg_IdleTaskStkSize,
(OS_MSG_QTY )0u,
(OS_TICK )0u,
(void *)0,
(OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
(OS_ERR *)p_err);
上面是直接移植过来的空闲任务的创建过程 可以搬过来进行修改
1.打开ucos-iii的api手册 对着修改参数完成后就是这样
OS_TCB Task_TCB;
CPU_STK Task_Stk[128];
int main(void)
{
OS_ERR err;
/* ³õʼ»¯"uC/OS-III"ÄÚºË */
OSInit(&err);
//CreateTask
OSTaskCreate((OS_TCB *)&Task_TCB,
(CPU_CHAR *)"MY Task",
(OS_TASK_PTR )First_Task,
(void *)0,
(OS_PRIO )2,
(CPU_STK *)&Task_Stk[0],
(CPU_STK_SIZE)12,
(CPU_STK_SIZE)OSCfg_IdleTaskStkSize,
(OS_MSG_QTY )0u,
(OS_TICK )0u,
(void *)0,
(OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
(OS_ERR *)&err);
/* Æô¶¯¶àÈÎÎñϵͳ£¬¿ØÖÆȨ½»¸øuC/OS-III */
OSStart(&err);
}
关于上面参数的讲解在这里
实际的任务执行的函数就是First_Task();这个函数