为什么单任务可以运行,双任务没有反应啊,代码如下:
工程见附件,谢谢
#include "includes.h"
/////////////////////////UCOSII任务设置///////////////////////////////////
//START 任务
//设置任务优先级
#define START_TASK_PRIO 10 //开始任务的优先级设置为最低
//设置任务堆栈大小
#define START_STK_SIZE 64
//任务堆栈
OS_STK START_TASK_STK[START_STK_SIZE];
//任务函数
//LED0任务
//设置任务优先级
#define LED0_TASK_PRIO 7
//设置任务堆栈大小
#define LED0_STK_SIZE 64
//任务堆栈
OS_STK LED0_TASK_STK[LED0_STK_SIZE];
//任务函数
//LED1任务
//设置任务优先级
#define LED1_TASK_PRIO 6
//设置任务堆栈大小
#define LED1_STK_SIZE 64
//任务堆栈
OS_STK LED1_TASK_STK[LED1_STK_SIZE];
//任务函数
int main(void)
{
BSP_Init();
OSInit();
OSTaskCreate(Start_Task,(void *)0,
&startup_task_stk[STARTUP_TASK_STK_SIZE-1], STARTUP_TASK_PRIO);
OSStart();
}
void Start_Task(void *p_arg)
{
SysTick_Config();
OSTaskCreate(led1_task,(void *)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);
OSTaskCreate(led0_task,(void *)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);
}
void led1_task(void *p_arg)
{
while(1)
{
LED1 =1;
OSTimeDlyHMSM(0,0,0,80);
LED1 =1;
OSTimeDlyHMSM(0,0,0,80);
}
}
void led0_task(void *p_arg)
{
while(1)
{
LED0 =1;
OSTimeDlyHMSM(0,0,0,80);
LED0 =0;
OSTimeDlyHMSM(0,0,0,80);
}
} |