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

📄 main.c

📁 完整的周立功公司的LPC213X开发板的光盘内容
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#include "stdlib.h"

#define	TaskStkLengh	64			//Define the Task0 stack length 定义用户任务0的堆栈长度
OS_STK	TaskStk[TaskStkLengh];		//Define the Task0 stack 定义用户任务0的堆栈
void  Task0(void *pdata);			//Task0 任务0

/****************************************************************************
* 名称: main()
* 功能: 初始化uC/OS-II操作系统,建立第一个任务,然后启动系统。
****************************************************************************/
int  main(void)
{
	OSInit ();																										
	OSTaskCreate (Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 2);		
	OSStart ();
	return 0;															
}


// zlg_gui.bmp (82x29点)
// 调整后为88x29点。
uint8 const  LOGO_DAT[]=
{
0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x06,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0x80,0x0C,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x31,
0x80,0x0C,0xF3,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xC0,0x18,0xE1,0x8E,0x00,
0x00,0x00,0x00,0x03,0x00,0x60,0x40,0x19,0xC1,0x87,0x80,0x00,0x00,0x00,0x0F,0x00,
0x60,0x00,0x31,0xC1,0x87,0x0C,0x00,0x00,0x00,0x1E,0x00,0xE0,0x00,0x33,0x81,0x0E,
0x1F,0x00,0x00,0x00,0x1E,0x00,0xE0,0x00,0x63,0x80,0x0E,0x0E,0x00,0x00,0x00,0x0F,
0x00,0xE0,0x00,0x63,0x80,0x1E,0x0C,0x00,0x00,0x04,0x07,0x00,0xE0,0x70,0xC3,0x80,
0x1C,0x18,0x00,0x00,0x0C,0x07,0x80,0xE1,0xE0,0xC3,0x0E,0x1C,0x18,0x08,0x00,0x0E,
0x03,0x80,0x60,0x61,0x83,0x07,0xD8,0x10,0x0C,0x00,0x1E,0x03,0x80,0x70,0x61,0x83,
0x87,0x38,0x30,0x06,0x00,0x33,0x03,0xC0,0x30,0x63,0x01,0x87,0x78,0x30,0x06,0x00,
0x63,0x01,0xC0,0xF8,0x73,0x01,0x86,0x70,0x20,0x0F,0x00,0x63,0x81,0xC0,0xDC,0x76,
0x01,0xC6,0x70,0x20,0x1C,0x80,0xE1,0x80,0xE0,0xCF,0xC6,0x00,0xFE,0x60,0x40,0x38,
0x40,0x61,0x83,0xE1,0xC3,0x00,0x00,0x38,0x70,0x40,0xF0,0x00,0x20,0xC1,0xF7,0xC0,
0x00,0x00,0x00,0x30,0xC1,0xE0,0x00,0x00,0xC1,0xFF,0x00,0x00,0x00,0x00,0x1F,0x83,
0x80,0x00,0x00,0xE1,0xF8,0x00,0x00,0x00,0x00,0x04,0xC7,0x00,0x00,0x00,0x61,0xC0,
0x00,0x00,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0x00,0x00,0x00,
0x3C,0x00,0x00,0x00,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x3E,
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,
0x00,0x08,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00
};


#define  PROG_STARTX   		10
#define  PROG_STARTY   		35

#define  PROG_HIGH    		10
#define  PROG_LENGTH     	100
/****************************************************************************
* 名称: DispLogin()
* 功能: 闪动显示"Loading...",并显示进度条。
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void  DispLogin(void)
{  int  i;
   
   // 显示loding...
   GUI_PutString(30, 25, "Loading...");
   
   // 显示进度条
   GUI_Rectangle( PROG_STARTX, PROG_STARTY, 
                  PROG_STARTX+PROG_LENGTH, PROG_STARTY+PROG_HIGH, 1);
   
   // 循环增长进度
   for(i=3; i<100; i+=1)
   {  // 改变进度条显示 
      GUI_RectangleFill( PROG_STARTX, PROG_STARTY, 
                         PROG_STARTX+i, PROG_STARTY+PROG_HIGH, 1);
                       
      // 若进度到尾数为5时,则使能"Loading..."显示
      if((i%10) == 5)
      {   GUI_PutString(30, 25, "Loading...");
      }
      
      // 若进度到尾数为0时,则禁止"Loading..."显示
      if((i%10) == 0)
      {   GUI_PutString(30, 25, "          ");
      }
      OSTimeDly(8);
   } 
}


/****************************************************************************
* 名称: DispZlgGui()
* 功能: 屏保--再现"ZLG/GUI"。
*       随机位置显示ZLG/GUI的Logo(动画)
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void  DispZlgGui(void)
{  uint8  x0, y0;
   
   while(1)
   {  // 取得随机位置坐标
      x0 = rand()&0x7f;	
      y0 = rand()&0x3f;
      if(x0 > (GUI_LCM_XMAX-35))
      {  x0 = x0>>1;
      } 
      if(y0 > (GUI_LCM_YMAX-10))
      {  y0 = y0>>1;
      } 
   
      // 显示Logo
      GUI_LoadPic( x0, y0, 
                   (uint8 *)LOGO_DAT,
                   88, 29);
      
      // 延时
      OSTimeDly(100);
      
      // 清除显示
      GUI_RectangleFill( x0, y0, 
                         x0+88, y0+29, 
                         0 );
   }
}

/*********************************************************************************************************
**                            Task0 任务0
** 功能:使用ZLG/GUI显示单色图形。
**       先使用进度条显示加载进度,然后使用"ZLG/GUI"的logo图片在屏幕随机
**       位置上显示,并不断的变换显示位置。
********************************************************************************************************/
void  Task0(void *pdata)
{
	pdata = pdata;
	TargetInit ();
	
	// 初始化随机总机
    srand(96169);

    GUI_Initialize();
    GUI_SetColor(1, 0);
    
    DispLogin();        // 显示加载进度条
   
	while (1)
	{
	    GUI_ClearSCR();     // 清屏
        DispZlgGui();       // 显示logo图片
	}
}
   
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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