main.c
来自「uCOS-II 在ARM7上的移植源代码,我在up-netarm3000已经测试」· C语言 代码 · 共 59 行
C
59 行
#include"..\ucos-ii\includes.h" /* uC/OS interface */
#include <string.h>
#include"uhal.h"
#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting
///******************任务定义***************///
OS_STK SYS_Task_Stack[STACKSIZE]= {0, }; //system task刷新任务堆栈
#define SYS_Task_Prio 1
void SYS_Task(void *Id);
OS_STK Task1_Stack[STACKSIZE]={0, };
void Task1(void *Id);
#define Task1_Prio 12
OS_STK Task2_Stack[STACKSIZE]= {0, };
void Task2(void *Id);
#define Task2_Prio 13
int main(void)
{
ARMTargetInit(); // do target (uHAL based ARM system) initialisation //
OSInit();
OSTaskCreate(SYS_Task, (void *)0, (OS_STK *)&SYS_Task_Stack[STACKSIZE-1], SYS_Task_Prio);
OSTaskCreate(Task2, (void *)0, (OS_STK *)&Task2_Stack[STACKSIZE-1], Task2_Prio);
OSTaskCreate(Task1, (void *)0, (OS_STK *)&Task1_Stack[STACKSIZE-1], Task1_Prio );
OSStart(); // start the game //
// never reached //
return 0;
}//main
void Task1(void *Id)
{
for(;;){
Uart_Printf("run task1\n");
OSTimeDly(1000);
}
}
void Task2(void *Id)
{
for (;;)
{
Uart_Printf("run task2\n");
OSTimeDly(2000);
}
}
void SYS_Task(void *Id)
{ OSRunning=TRUE; //使能多任务切换
uHALr_InstallSystemTimer();
Uart_Printf("start system task.\n");
for (;;)
{
OSTimeDly(10000);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?