?? main.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 + -