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

📄 main.c

📁 这是在LPC2210芯片基于UCOS2环境下
💻 C
字号:

#include "config.h"
#include "stdlib.h"
#define LED1              (1<<28)
#define LED2              (1<<29)

#define	Task0StkLengh	   64			//Define the Task0 stack length 定义用户任务0的堆栈长度
#define	TaskLED1StkLengh   128	 
#define	TaskLED2StkLengh   128
 
OS_STK	Task0Stk [Task0StkLengh];		//Define the Task0 stack 定义用户任务0的堆栈
OS_STK	TaskLED1Stk [TaskLED1StkLengh];	 
OS_STK	TaskLED2Stk [TaskLED2StkLengh];	

void 	Task0(void *pdata);			//Task0 任务0
void 	TaskLED1(void *pdata);	
void 	TaskLED2(void *pdata);	

        int main (void)
{
	OSInit ();																										
	OSTaskCreate (Task0,(void *)0, &Task0Stk[Task0StkLengh - 1], 2);	
	//OSTaskCreate (TaskLED1,(void *)0, &TaskLED1Stk[TaskLED1StkLengh - 1],0);	
	OSStart ();
	return 0;															
}
/*********************************************************************************************************
**                            Task0 任务0
********************************************************************************************************/

	void Task0	(void *pdata)
{
	pdata = pdata;
	TargetInit ();
	 OSTaskCreate (TaskLED1,(void *)0, &TaskLED1Stk[TaskLED1StkLengh - 1],3);	
	 OSTaskCreate (TaskLED2,(void *)0, &TaskLED2Stk[TaskLED2StkLengh - 1], 4);
	
	 
	while (1)
	{
		OSTimeDly(OS_TICKS_PER_SEC*10);
	}
}
   
/*********************************************************************************************************
**                         TaskLED1
**                         LED1任务
********************************************************************************************************/

void TaskLED1	(void *pdata)
{ char s1[40];
 INT32U  stime;
 pdata = pdata;
 //TargetInit ();
 IO2DIR|=LED1;
 IO2SET=LED1;
 stime=OSTimeGet();
           sprintf(s1,"%u",stime);
         PC_DispStr(1, 15, s1, DISP_FGND_RED + DISP_BGND_BLUE);
 //OSTaskCreate (TaskLED2,(void *)0, &TaskLED2Stk[TaskLED2StkLengh - 1], 2);
while (1)
   {
     IO2CLR=LED1;
     OSTimeDly(10);
     IO2SET=LED1;
    OSTimeDly(10);
    
   } 
   //OSTaskCreate (TaskLED2,(void *)0, &TaskLED2Stk[TaskLED2StkLengh - 1], 4); 
 } 
 /*********************************************************************************************************
**                         TaskLED2
**                         LED2任务
********************************************************************************************************/

void TaskLED2	(void *pdata)
{

 pdata = pdata;
 IO2DIR|=LED2;
 IO2SET=LED2;
   
 for(;;)
   {
   
     //OSTimeDly(OS_TICKS_PER_SEC*2);
     IO2CLR=LED2;
     OSTimeDly(100);
     IO2SET=LED2;
     OSTimeDly(100);
    
   }  
 } 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -