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

📄 main.c

📁 ARM7Proteus.rar
💻 C
字号:
/****************************************Copyright (c)**************************************************
ARM Final-uCOS-II for LPC2131.
NH.UNIVERSITY.DQ-CE(communication engineering).ZHH.2005-2009.
All Rights Reserved.
******************************************************************************************************
*/
#include "config.h"
#include "stdlib.h"

#define	TaskStkLengh	64	//Define the Task0 stack length堆栈长度.
 #define    LED0        (1<<2);
OS_STK	TaskStk [TaskStkLengh];	//Define the Task0 stack堆栈.
OS_STK	TaskLED [TaskStkLengh];
OS_STK	TaskLCD [TaskStkLengh];
OS_STK	TaskLCD3 [TaskStkLengh];
 
void 	Task0(void *pdata);			//Task0 任务0.
void Task1LED(void *pdata);
void Task2LCD(void *pdata);
void Task3LCD(void *pdata);
 
//OS_EVENT *LedSem;

////////////////////////////////////////////////////////////////
        int main (void)
{
	OSInit ();	
	//LedSem = OSSemCreate(1);																									
	OSTaskCreate (Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 0);	//0,1 Prio reserved.	
	OSStart ();
	return 0;															
}
////////////////////////////////////////////////////////////////


/*********************************************************************************************************
**                            Task0 任务0.   
********************************************************************************************************/
const uint32  LED1=(1<<18); 
    

	                 void Task0(void *pdata)
{    
	pdata = pdata;
	TargetInit ();//启动多任务环境.
	//OSTaskCreate (Task1LED,(void *)0, &TaskLED [TaskStkLengh - 1], 2);		
	OSTaskCreate (Task2LCD,(void *)0, &TaskLCD [TaskStkLengh - 1], 3);
	//OSTaskCreate (Task3LCD,(void *)0, &TaskLCD3 [TaskStkLengh - 1], 4);
	
	  PINSEL2 = PINSEL2 & (~0x08); // P1[25:16]连接GPIO.
            IO1DIR=LED1; 
            
          while(1)
        {
            IO1SET=LED1;
            OSTimeDly(100);//time=5ms*n=500ms.
            IO1CLR=LED1;
            OSTimeDly(100);
        }   




           

   
 }
                                               	 



/**************TaskLED***********************************************/   

const uint32  LED2=(1<<17); 
                   void Task1LED(void *pdata)
{         
            pdata=pdata;   //prevent warning.
            TargetInit ();
            PINSEL2 = PINSEL2 & (~0x08); // P1[25:16]连接GPIO.
            IO1DIR=LED2; 
            
          while(1)
        {
            IO1SET=LED2;
            OSTimeDly(100);//time=5ms*n=500ms.
            IO1CLR=LED2;
            OSTimeDly(100);
        }   
}


/**************TaskLCD***********************************************/
                 void Task2LCD(void *pdata)
 {        
         uint16  i; 
         pdata=pdata;
         PINSEL0=0x00;
         PINSEL1=0x00;
	TargetInit();
	
	Lcd_Init();
	while(1)
	{
	Write_Data(0x40,0x10,0x24,0x02);	//设置写地址(若是图形显示方式则开始地址为图形显示地址)
	Write_Data(0x00,0x00,0xb0,0x00);	//设置自动写方式
	for(i=0;i<2560;i++)
		{
		RW_Enable();
		IODIR=0x7ff;
		IOCLR=CD;
		IOCLR=0xff;		
		IOSET=ICO1[i];
		IOCLR=WR;
		IOSET=WR;
		}
		Write_Data(0x00,0x00,0xb2,0x00);	//自动写结束.
		OSTimeDly(OS_TICKS_PER_SEC/1);
	}
}                 


/*           void Task3LCD(void *pdata)
 {        
         uint16  i; 
         pdata=pdata;
         PINSEL0=0x00;
         PINSEL1=0x00;
	TargetInit();
	Lcd_Init();
	while(1)
	{
	Write_Data(0x40,0x10,0x24,0x02);	//设置写地址(若是图形显示方式则开始地址为图形显示地址)
	Write_Data(0x00,0x00,0xb0,0x00);	//设置自动写方式
	for(i=0;i<2560;i++)
		{
		RW_Enable();
		IODIR=0x7ff;
		IOCLR=CD;
		IOCLR=0xff;		
		IOSET=ICO2[i];
		IOCLR=WR;
		IOSET=WR;
		}
		Write_Data(0x00,0x00,0xb2,0x00);	//自动写结束.
		OSTimeDly(OS_TICKS_PER_SEC/1);
	}
}                 

*/
















⌨️ 快捷键说明

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