在战舰板上移植FreeRTOS,led1与led2同一个优先级并排跑没问题,但在task1任务代码中创建任务task2出错,跑三次后就task2创建不了任务了,进不了task2任务代码中,也就是只有LED1亮,LED2不亮,求助!
如仿真中,前三次功能没问题,灯交替闪烁,但从第三次开始直接跳回实红线所指代码处,而不再进入虚红线代码所指处了,请问这是怎么回事
[mw_shl_code=c,true]#include "includes.h"
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "freertos.h"
#include "task.h"
#include "queue.h"
#include "led.h"
static void led1_task(void *pdata);
static void led2_task(void *pdata);
int main(void)
{
delay_init(); //???±??????
NVIC_Configuration(); //?è??NVIC????·?×é2:2??????????????2???ì????????
LED_Init(); //????????LED??????????????
xTaskCreate( led1_task, "LED1", 1000, NULL, 1, NULL );
/* Start the scheduler. */
vTaskStartScheduler();
for(;;);
}
//LED1????
static void led1_task(void *pdata)
{
for(;;)
{ xTaskHandle xLED2Handle;
LED0=0;
delay_ms(80);
LED0=1;
delay_ms(920);
xTaskCreate( led2_task, "LED2", 1000, NULL, 2, &xLED2Handle );
};
}
//LED2????
static void led2_task(void *pdata)
{
for(;;)
{ xTaskHandle xLED2Handle;
LED1=0;
delay_ms(80);
LED1=1;
delay_ms(900);
vTaskDelete(xLED2Handle);
};
}
[/mw_shl_code]
|