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

📄 main.c

📁 嵌入式实时操作系统uc/OS-II于s3c2410的开发测试程序1源代码
💻 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 + -