📄 main.c
字号:
#include "config.h"
#include "stdlib.h"
#define LED1 (1<<28)
#define LED2 (1<<29)
#define Task0StkLengh 64 //Define the Task0 stack length 定义用户任务0的堆栈长度
#define TaskLED1StkLengh 128
#define TaskLED2StkLengh 128
OS_STK Task0Stk [Task0StkLengh]; //Define the Task0 stack 定义用户任务0的堆栈
OS_STK TaskLED1Stk [TaskLED1StkLengh];
OS_STK TaskLED2Stk [TaskLED2StkLengh];
void Task0(void *pdata); //Task0 任务0
void TaskLED1(void *pdata);
void TaskLED2(void *pdata);
int main (void)
{
OSInit ();
OSTaskCreate (Task0,(void *)0, &Task0Stk[Task0StkLengh - 1], 2);
//OSTaskCreate (TaskLED1,(void *)0, &TaskLED1Stk[TaskLED1StkLengh - 1],0);
OSStart ();
return 0;
}
/*********************************************************************************************************
** Task0 任务0
********************************************************************************************************/
void Task0 (void *pdata)
{
pdata = pdata;
TargetInit ();
OSTaskCreate (TaskLED1,(void *)0, &TaskLED1Stk[TaskLED1StkLengh - 1],3);
OSTaskCreate (TaskLED2,(void *)0, &TaskLED2Stk[TaskLED2StkLengh - 1], 4);
while (1)
{
OSTimeDly(OS_TICKS_PER_SEC*10);
}
}
/*********************************************************************************************************
** TaskLED1
** LED1任务
********************************************************************************************************/
void TaskLED1 (void *pdata)
{ char s1[40];
INT32U stime;
pdata = pdata;
//TargetInit ();
IO2DIR|=LED1;
IO2SET=LED1;
stime=OSTimeGet();
sprintf(s1,"%u",stime);
PC_DispStr(1, 15, s1, DISP_FGND_RED + DISP_BGND_BLUE);
//OSTaskCreate (TaskLED2,(void *)0, &TaskLED2Stk[TaskLED2StkLengh - 1], 2);
while (1)
{
IO2CLR=LED1;
OSTimeDly(10);
IO2SET=LED1;
OSTimeDly(10);
}
//OSTaskCreate (TaskLED2,(void *)0, &TaskLED2Stk[TaskLED2StkLengh - 1], 4);
}
/*********************************************************************************************************
** TaskLED2
** LED2任务
********************************************************************************************************/
void TaskLED2 (void *pdata)
{
pdata = pdata;
IO2DIR|=LED2;
IO2SET=LED2;
for(;;)
{
//OSTimeDly(OS_TICKS_PER_SEC*2);
IO2CLR=LED2;
OSTimeDly(100);
IO2SET=LED2;
OSTimeDly(100);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -