芯片lm3s9b92
#include<includes.h>
#include "utils/uartstdio.h"
/* Application tasks 优先级 */
#define TASK2_PRIO 11
#define task2stcksize 1024
static OS_STK App_TaskStartStk[APP_CFG_TASK_START_STK_SIZE]; //1任务堆栈app_cfg.h size 256
OS_STK task2_stack[task2stcksize];
static void App_TaskStart (void *p_arg); //声明第一个任务
void Task2(void *pdata); //声明第二个任务
int main (void)
{
BSP_PreInit (); //初始化时钟,串口115200,LED和按键
BSP_IntDisAll(); //禁止全部中断
OSInit(); /* 2Initialize "uC/OS-II, The Real-Time Kernel" */
OSTaskCreateExt((void (*)(void *)) App_TaskStart, /* 3Create the start task */
(void *) 0,
(OS_STK *)&App_TaskStartStk[APP_CFG_TASK_START_STK_SIZE - 1],
(INT8U ) APP_CFG_TASK_START_PRIO, //2U
(INT16U ) APP_CFG_TASK_START_PRIO,
(OS_STK *)&App_TaskStartStk[0],
(INT32U ) APP_CFG_TASK_START_STK_SIZE,
(void *) 0,
(INT16U )(OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR));
OSStart(); //4 os start
}
static void App_TaskStart (void *p_arg)
{
(void)p_arg;
BSP_PostInit(); /* I初始化板上资源 */
Tmr_TickInit (); /*初始化ucosii时钟 */
#if (OS_TASK_STAT_EN > 0)
OSStatInit(); /* 启动统计任务 */
#endif
OSTaskCreateExt(Task2,
(void *) 0, /* Arguments passed to TaskStart() */
(void *)&task2_stack[task2stcksize-1], /* Set Top-Of-Stack */
(INT8U )TASK2_PRIO, /* Lowest priority level */
(INT16U )TASK2_PRIO, /* Task ID,no use */
(OS_STK *)&task2_stack[0], /* Set Bottom-Of-Stack */
task2stcksize,
(void *)0, /* No TCB extension */
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); /* Enable stack checking and clear stack */
for(;;)
{
OSTimeDlyHMSM(0, 0, 2, 0); /* delay 2 s */
UARTprintf("\033[2JI am task1\n");
}
}
void Task2(void *pdata)
{
for(;;)
{
OSTimeDlyHMSM(0, 0, 3, 0); /* delay 2 s */
UARTprintf("\033[2JI am task2\n");
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)