📄 main.c
字号:
#include "..\INC\includes.h" /* uC/OS interface */
#define STACKSIZE 0x8ff
extern void Show_corporationname(U8 LcdBuffer);
unsigned int Stack1[STACKSIZE]={0};
unsigned int Stack2[STACKSIZE]={0};
unsigned int Stack3[STACKSIZE]={0};
unsigned int Stack4[STACKSIZE]={0};
unsigned int Stack5[STACKSIZE]={0};
OS_EVENT *Sem;
OS_EVENT *TouchBox;
void Task1(void *i)
{
for (;;)
{
Uart_Printf("\n\n1st task\n");
OSTimeDly(8000);
}
}
void Task2(void *i)
{
for (;;)
{
Uart_Printf("\n\n2nd task\n");
OSTimeDly(4000);
}
}
void Task3(void *i)
{
for(;;)
{
Uart_Printf("\n\n3rd task\n");
OSTimeDly(2000);
}
}
void Task4(void *i)
{
for (;;)
{
Uart_Printf("\n\n4th task\n");
OSTimeDly(1000);
}
}
void Task5(void *i)
{
for (;;)
{
Uart_Printf("\n\n5th task\n");
Uart_Printf("\nTest Finish!!!\n");
OSTimeDly(500);
}
}
/* Main function. */
void Main(void)
{ char Id1 = '1';
char Id2 = '2';
char Id3 = '3';
char Id4 = '4';
char Id5 = '5';
// ARMTargetInit(); //系统初始化
ChangeClockDivider(1,1); // 1:2:4
ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz
Port_Init();
// Isr_Init();
Uart_Init(0,115200); //Uart_Init(FCLK/4,115200);
Uart_Select(0);
//Check whether or not the POWER_OFF wake-up.
Delay(0); //calibrate Delay()
rGPHCON = rGPHCON & ~(0xf<<18)|(0x5<<18); //CLKOUT 0,1=OUTPUT to reduce the power consumption.
OSInit(); //使用ucos提供的任何功能之前必须调用OSInit()函数
OSTimeSet(0); //设置当前系统时钟数值
Sem = OSSemCreate(0); //建立一个信号量
TouchBox = OSMboxCreate((void *)0); //建立并初始化一个消息邮箱
OSTaskCreate(Task1, (void *)&Id1, (void *)&Stack1[STACKSIZE - 1], 1);
OSTaskCreate(Task2, (void *)&Id2, (void *)&Stack2[STACKSIZE - 1], 2); //建立新任务2
OSTaskCreate(Task3, (void *)&Id3, (void *)&Stack3[STACKSIZE - 1], 3); //建立新任务3
OSTaskCreate(Task4, (void *)&Id4, (void *)&Stack4[STACKSIZE - 1], 4); //建立新任务4
OSTaskCreate(Task5, (void *)&Id5, (void *)&Stack5[STACKSIZE - 1], 5); //建立新任务4
// ARMTargetStart(); // ARM系统开始运行
OSStart(); //将控制权交给ucos内核,开始运行多任务
} /* main */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -