📄 main.c
字号:
#include "config.h"
#define TASK_STK_SIZE 64
#define LED ( 1 << 24 )
#define CR 0x0D
OS_STK TaskLEDStk[TASK_STK_SIZE];
OS_STK TaskuarSize[TASK_STK_SIZE];
void TaskStart(void );
void Task_LED(void *pdata);
void Print_CPU_usage (void *pdata);
int main(void)
{
OSInit(); /* Initialize uC/OS-II */
TaskStart();
OSStart();
return 0;
}
void TaskStart (void)
{
OSTaskCreate(Task_LED, (void *)0, &TaskLEDStk[TASK_STK_SIZE - 1], 15);
OSTaskCreate(Print_CPU_usage, (void *)0, &TaskuarSize[TASK_STK_SIZE - 1], 16);
}
void Task_LED (void *pdata)
{
//INT8U err;
pdata = pdata;
TargetInit();
OSStatInit(); /* Initialize uC/OS-II's statistics */
PINSEL2 = PINSEL2 & (~0x08); //P1[25-16]设置为GPIO
IO1DIR |= LED; //设置IO口为输出口
while(1)
{
IO1SET = LED;
OSTimeDly(OS_TICKS_PER_SEC/2); //延时1/2秒
IO1CLR = LED;
OSTimeDly(OS_TICKS_PER_SEC/2); //延时1/2秒
}
}
void uar_putchar (INT8U ch)
{
if (ch == '\n')
{
while (!(U0LSR & 0x20));
U1THR = CR; // output CR
}
while (!(U0LSR & 0x20));
U0THR = ch;
}
void Print_CPU_usage (void *pdata)
{
INT8U Tab[]={"CPU Usage = #"};
INT8U *p;
pdata = pdata;
while(1)
{
p=Tab;
while(*p!='#')
{
uar_putchar(*p++);
}
if(((INT8U)OSCPUUsage)/10!=0)
uar_putchar(((INT8U)OSCPUUsage)/10+48);
else
uar_putchar(' ');
if(((INT8U)OSCPUUsage)%10!=0)
uar_putchar(((INT8U)OSCPUUsage)%10+48);
else
uar_putchar(' ');
uar_putchar('%');
uar_putchar('\n');
OSTimeDly(OS_TICKS_PER_SEC);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -