main.c
来自「UCOS-2.rar」· C语言 代码 · 共 280 行
C
280 行
/****************************************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 200 //Define the Task0 stack length 定义用户任务0的堆栈长度
uint8 const Matrix000[]=
{
/*------------------------------------------------------------------------------
; 源文件 / 文字: 字模软件 V0.1
; 宽×高(像素) : 18×104
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x02,0x00,0x21,0x20,0x10,0x40,
0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x01,
0x00,0x21,0x28,0x10,0x40,0x08,0x40,0x00,
0x00,0x00,0x00,0x00,0x3F,0xF8,0x27,0xFC,
0xFE,0x80,0x12,0x40,0x04,0x02,0x3C,0x00,
0x10,0x20,0x08,0xF9,0x20,0x20,0xFC,0x12,
0x40,0x04,0x02,0x42,0x00,0x10,0x5F,0xF0,
0x23,0xF8,0x29,0x04,0x23,0xF8,0x02,0x04,
0x81,0x00,0x70,0x00,0x40,0x32,0x08,0x48,
0x48,0x64,0x40,0x02,0x04,0x81,0x00,0x10,
0x01,0x80,0x6B,0xF8,0x7E,0x40,0xA8,0x40,
0x02,0x04,0x81,0x00,0x10,0x01,0x08,0x6A,
0x08,0x08,0x40,0x20,0x40,0x01,0x08,0x81,
0x00,0x10,0xFF,0xFC,0xA3,0xF8,0x08,0x40,
0x2F,0xFC,0x01,0x08,0x81,0x00,0x10,0x01,
0x00,0xA0,0x80,0x0E,0xA0,0x20,0x40,0x00,
0x90,0x81,0x00,0x10,0x01,0x00,0x2F,0xFC,
0xF8,0xA0,0x20,0x40,0x00,0x90,0x81,0x00,
0x10,0x01,0x00,0x21,0x20,0x09,0x10,0x20,
0x40,0x00,0x90,0x42,0x10,0x10,0x05,0x00,
0x22,0x10,0x0A,0x0C,0x20,0x40,0x00,0x60,
0x3C,0x10,0x7C,0x02,0x00,0x2C,0x0C,0x0C,
0x08,0x20,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00
};
uint8 const Matrix001[]=
{
/*------------------------------------------------------------------------------
; 源文件 / 文字: 大小人口手
; 宽×高(像素) : 13×60
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x04,0x00,0x40,0x04,0x00,0x00,0x03,0xC0,
0x04,0x00,0x40,0x04,0x07,0xFC,0xFC,0x00,
0x04,0x40,0x40,0x04,0x04,0x04,0x04,0x00,
0xFF,0xE1,0x50,0x04,0x04,0x04,0x7F,0xC0,
0x04,0x01,0x48,0x04,0x04,0x04,0x04,0x00,
0x04,0x02,0x44,0x0A,0x04,0x04,0x04,0x00,
0x0A,0x04,0x42,0x0A,0x04,0x04,0xFF,0xE0,
0x0A,0x08,0x42,0x11,0x04,0x04,0x04,0x00,
0x11,0x00,0x40,0x11,0x07,0xFC,0x04,0x00,
0x20,0x80,0x40,0x20,0x84,0x04,0x04,0x00,
0xC0,0x61,0xC0,0xC0,0x60,0x00,0x1C,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
uint8 const Matrix002[]=
{
/*------------------------------------------------------------------------------
; 源文件 / 文字: 信封ico图片
; 宽×高(像素) : 32×32
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFC,0x20,0x00,0x00,0x2C,
0x30,0x00,0x00,0x9C,0x38,0x00,0x00,0x3C,0x2C,0x00,0x00,0xEC,0x26,0x00,0x02,0xEC,
0x23,0x00,0x09,0x8C,0x21,0x80,0x03,0x2C,0x20,0xC0,0x0E,0x8C,0x20,0x60,0x2E,0x2C,
0x20,0xFA,0x9C,0x8C,0x22,0x98,0x3A,0x2C,0x21,0x8F,0xF9,0x8C,0x22,0x27,0xE2,0xAC,
0x2C,0x08,0x88,0xCC,0x2A,0x22,0x22,0x2C,0x30,0x88,0x88,0x9C,0x20,0x22,0x22,0x2C,
0x28,0x88,0x88,0x8C,0x3F,0xFF,0xFF,0xFC,0x3F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
OS_STK TaskStk[TaskStkLengh]; //Define the Task0 stack 定义用户任务0的堆栈
void Task0(void *pdata); //Task0 任务0
//uint8 GUI_PutChar24_32(uint32 x, uint32 y, uint8 ch);
/****************************************************************************
* 名称: main()
* 功能: 初始化uC/OS-II操作系统,建立第一个任务,然后启动系统。
****************************************************************************/
int main(void)
{
OSInit ();
OSTaskCreate (Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 2);
OSStart ();
return 0;
}
/**************************移动小球的函数***********************************/
void MoveBall(void)
{
uint8 a0,b0;
uint8 a0q,b0q;
uint8 a0h,b0h;
/*WINDOWS d;
d.x=0;
d.y=0;
d.with=128;
d.hight=64;
d.title=(uint8*)"one world one drem";
d.state=(uint8*)" one world one drem";
GUI_WindowsDraw(&d);*/
a0=a0q=23;
b0=b0q=23;
a0h=b0h=1;
while(1)
{
GUI_Circle(a0,b0,5,1);
GUI_Circle(a0q,b0q,5,0);
a0q=a0;
b0q=b0;
OSTimeDly(10);
if(a0h==1)
a0=a0+2;
if(b0h==1)
b0=b0+2;
if(a0h==0)
a0=a0-2;
if(b0h==0)
b0=b0-2;
if(a0<=7)
{
a0h=1;
}
if(a0>=121)
{
a0h=0;
}
if(b0>=56)
{
b0h=0;
}
if(b0<=7)
{
b0h=1;
}
}
/************************************显示菜单**************************/
}
void DemoEllipse()
{
WINDOWS demow;
demow.x=0;
demow.y=0;
demow.with=128;
demow.hight=64;
demow.title=(uint8*)"one world one drem";
demow.state=(uint8*)" one world one drem";
GUI_WindowsDraw(&demow);
}
/*******************************显示进度条和Loading...*****************/
void Dispxinfeng(void)
{
uint8 i;
GUI_PutString(30,25,"Loading......");
GUI_Rectangle(10,35,110,45,1);
for(i=0;i<100;i++)
{
GUI_RectangleFill(10,35,10+i,45,1);
if((i%10)==5)
{
GUI_PutString(30,25,"Loading......");
}
if((i%10)==0)
{
GUI_PutString(30,25," ");
}
OSTimeDly(8);
}
}
/*******************************信封屏幕保护****************************/
void PB(void)
{
uint8 xx,yy;
while(1)
{
xx=rand()&0x7f;
yy=rand()&0x3f;
if(xx>(GUI_LCM_XMAX-35))
{
xx=xx>>1;
}
if(yy>(GUI_LCM_YMAX-10))
{
yy=yy>>1;
}
GUI_LoadPic(xx,yy,(uint8 *)Matrix002,32,32);
OSTimeDly(100);
GUI_RectangleFill(xx,yy,xx+32,yy+32,0);
}
}
/*********************************************************************************************************
** Task0 任务0
** 功能:使用ZLG/GUI,在屏幕上同时显示多个"Hello ZLG/GUI!"字符串
********************************************************************************************************/
void Task0(void *pdata)
{
pdata = pdata;
TargetInit ();
//srand(96169);
GUI_Initialize(); // 初始化LCM
GUI_SetColor(1, 0); // 设置前景色和背景色
Dispxinfeng(); // 显示进度条loading...
//DemoEllipse(); // 显示菜单
while (1)
{
//GUI_Rectangle(10,35,20,100,1); //画矩形
//OSTimeDly(10);
//GUI_LoadPic(0,0,(uint8 *)Matrix000,104,18); //显示汉字
//GUI_LoadPic1(0,16,(uint8 *)Matrix001,60,13); //显示汉字
//GUI_LoadPic(0,29,(uint8 *)Matrix002,32,32); //显示信封图片
//GUI_PutString(0,0, "Hello ZLG/GUI!"); //指定位置显示字符串
//GUI_PutString8_8(0,8, "Hello ZLG/GUI!"); //指定位置显示字符串
//GUI_PutChar24_32(0,16,'1'); //显示24x32的字符
//GUI_HLine(25,18,56,1); //画直线
//GUI_RLine(25,18,40,1); //画垂直线
//GUI_Line(25,40,56,18,1); //画任意两点的直线
//GUI_LineWith(25,50,56,28,6,1); //画任意两点的加宽直线
//GUI_Button_OK(56,16); //显示ok直线
//GUI_Button_OK1(56,48); //显示选中的ok直线
//OSTimeDlyHMSM(0, 0, 10, 0); //延时
GUI_ClearSCR(); //清屏
PB(); //信封屏幕保护显示
//MoveBall(); //移动的小球
GUI_MenuIcoDraw
}
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?