⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 uCOS-II 移植到ARM7上
💻 C
字号:
#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("TASK1\n");
		OSTimeDly(1000);
	}
}

void Task2(void *Id)
{
	for (;;)
	{
		Uart_Printf("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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -