main.c
来自「UCOS-2.rar」· C语言 代码 · 共 160 行
C
160 行
/****************************************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"
uint8 num[10][8]={ //0~9十个数字,字体点阵为5X8
{
0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70
},
{
0x20,0xE0,0x20,0x20,0x20,0x20,0x20,0xF8
},
{
0x70,0x88,0x08,0x10,0x20,0x40,0x80,0xF8
},
{
0x70,0x88,0x08,0x30,0x08,0x08,0x88,0x70
},
{
0x08,0x18,0x28,0x48,0x88,0xFC,0x08,0x08
},
{
0xF8,0x80,0x80,0xF0,0x08,0x08,0x88,0x70
},
{
0x30,0x40,0x80,0xF0,0x88,0x88,0x88,0x70
},
{
0xF8,0x08,0x10,0x10,0x20,0x20,0x40,0x40
},
{
0x70,0x88,0x88,0x70,0x88,0x88,0x88,0x70
},
{
0x70,0x88,0x88,0x88,0x78,0x08,0x10,0x60
}};
uint8 const M[]= //冒号显示,点阵字体为2X7
{
0xC0,0xC0,0x00,0x00,0x00,0xC0,0xC0
};
#define TaskStkLengh 512 //定义用户任务0的堆栈长度
OS_STK TaskStk[TaskStkLengh]; // 定义用户任务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;
}
/*********************************************************************************************************
** Task0 任务0
** 功能:使用ZLG/GUI,在屏幕上同时显示多个"Hello ZLG/GUI!"字符串
********************************************************************************************************/
void Task0(void *pdata)
{
uint32 times;
uint8 bak,shuz[6],i,xx,yy;;
pdata = pdata;
TargetInit ();
GUI_Initialize(); // 初始化LCD
GUI_SetColor(1, 0); // 设置前景色和背景色
srand(96169);
while (1)
{
times=CTIME0;
bak=(times>>16)&0x1F; // 获取小时
shuz[0]=bak/10;
shuz[1]=bak%10;
bak=(times>>8)&0x3F; // 获取分钟
shuz[2]=bak/10;
shuz[3]=bak%10;
bak=times&0x3F; // 获取秒
shuz[4]=bak/10;
shuz[5]=bak%10;
xx=rand()&0x7f;
yy=rand()&0x3f;
if(xx>(GUI_LCM_XMAX-35))
{
xx=xx>>1;
}
if(yy>(GUI_LCM_YMAX-10))
{
yy=yy>>1;
}
for(i=0;i<2;i++)
GUI_LoadPic(5*i+xx,0+yy,*(num+shuz[i]),5,8); //显示小时
GUI_PutString(11+xx,0+yy,":"); //显示冒号
for(i=2;i<4;i++)
GUI_LoadPic(5*i+7+xx,0+yy,*(num+shuz[i]),5,8); //显示分钟
GUI_PutString(28+xx,0+yy,":"); //显示冒号
for(i=4;i<6;i++)
GUI_LoadPic(5*i+xx+14,0+yy,*(num+shuz[i]),5,8); //显示秒
OSTimeDly(100);
GUI_ClearSCR(); //清屏
}
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?