我照着教程上的看了一遍,然后自己输下代码,但是出现问题了,不明白原因,求大神指点下
[mw_shl_code=c,true]#include"led.h"
#include"sys.h"
#include"delay.h"
#include "includes.h"
#include"usart.h"
//START
#define START_TASK_PRIO 10
#define START_STK_SIZE 64
OS_STK START_TASK_STK[START_STK_SIZE];
void start_task(void *pdata);
//led0
#define LED0_TASK_PRIO 7
#define LED0_STK_SIZE 64
OS_STK LED0_TASK_STK[LED0_STK_SIZE];
void led0_task(void *pdata);
//led1
#define LED1_TASK_PRIO 6
#define LED1_STK_SIZE 64
OS_STK LED1_TASK_STK[LED1_STK_SIZE];
void led1_task(void *pdata);
//开始任务函数
void start_task(void *pdata)
{
OS_CPU_SR cpu_sr=0;
pdata=pdata;
OS_ENTER_CRITICAL(); //进入临界区,防止中断
OSTaskCreate(led0_task,(void*)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);
OSTaskCreate(led1_task,(void*)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);
OSTaskSuspend(START_TASK_PRIO);//挂起start task任务
OS_EXIT_CRITICAL();//跳出临界区。开中断
}
void led0_task(void *pdata)
{
while(1)
{
LED0=0;
delay_ms(80);
LED1=1;
delay_ms(920);
}
}
void led1_task(void* pdata)
{
while(1)
{
LED1=0;
delay_ms(300);
LED1=1;
delay_ms(300);
}
}
int main(void)
{
Stm32_Clock_Init(9); //系统时钟设置
delay_init(72); //延时初始化
LED_Init();
OSInit();
OSTaskCreate(start_task,(void*)0,(OS_STK*)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO);
OSStart();
}[/mw_shl_code]
代码就是和教程一样的,但是出现问题了,
求大神指教下,求助 |