📄 lcd_drawline.c
字号:
/*
*********************************************************
* Copyright (c)
* All rights reserved.
*
* 文件名称:lcd_drawline.c
* 文件标识:
* 摘 要:本文件是对LCD画点、线、框的测试程序。
* 当前版本:1.0
* 作 者:刘征
* 完成日期:2005.4.3
*
* 取代版本:
* 作 者:
* 完成日期:
*********************************************************
*/
/*
*********************************************************
* 头文件
*********************************************************
*/
#include <string.h>
#include "2410addr.h"
#include "2410lib.h"
#include "def.h"
#include "lcdlib.h"
#include "glib.h"
#include "lcd.h"
/*
*********************************************************
* 函数介绍:本函数是TFT 640*480 LCD的测试程序。
* 输入参数:无
* 输出参数:无
* 返回值 :无
*********************************************************
*/
void Test_Lcd_Tft_16Bit_640480(void)
{
int i,j,k;
Lcd_Port_Init();
Lcd_Init(MODE_TFT_16BIT_640480);
Glib_Init(MODE_TFT_16BIT_640480);
Lcd_PowerEnable(0, 1);
Lcd_EnvidOnOff(1);
Uart_Printf("[TFT 64K COLOR(16bit/1pixel) LCD TEST]\n");
Glib_ClearScr(0, MODE_TFT_16BIT_640480);
Glib_FilledRectangle(0,0,639,479,0xf800);
Uart_Printf("TFT 64K color mode test 1. Press any key!\n");
Uart_Getch();
Glib_ClearScr(0, MODE_TFT_16BIT_640480);
Glib_Rectangle(0,0,639,479,0x07e0);
Glib_FilledRectangle(0,0,20,20,65535);
Glib_Rectangle(620,460,639,479,65535);
Glib_Line(0,0,639,479,0x1f);
Glib_Line(639,0,0,479,0xf800);
Uart_Printf("TFT 64K color mode test 2. Press any key!\n");
Uart_Getch();
Glib_ClearScr(0, MODE_TFT_16BIT_640480);
k=0;
for(i=160;i<480;i+=20)
{
for(j=120;j<360;j+=15)
{
while((rLCDCON5>>19)==2);
Glib_FilledRectangle(i,j,i+19,j+14,k);
k+=500;
}
}
// #0
// 00
Glib_Rectangle(0,0,319,239,65535);
Glib_Line(0,0,319,239,65535);
Glib_Line(0,239,319,0,65535);
// 0#
// 00
Glib_Rectangle(0+320,0,319+320,239,255);
Glib_Line(0+320,0,319+320,239,255);
Glib_Line(0+320,239,319+320,0,255);
// 00
// #0
Glib_Rectangle(0,0+240,319,239+240,255);
Glib_Line(0,0+240,319,239+240,255);
Glib_Line(0,239+240,319,0+240,255);
// 00
// 0#
Glib_Rectangle(0+320,0+240,319+320,239+240,255);
Glib_Line(0+320,0+240,319+320,239+240,255);
Glib_Line(0+320,239+240,319+320,0+240,255);
Glib_Rectangle(50+320,50+240,269+320,189+240,255);
Uart_Printf("TFT 64K color mode test 3. Press any key!\n");
Uart_Getch();
Glib_ClearScr(0, MODE_TFT_16BIT_640480);
k=0;
for(i=0;i<640;i+=40)
{
for(j=0;j<480;j+=30)
{
Glib_FilledRectangle(i,j,i+39,j+29,k);
k+=500;
}
}
// #0
// 00
Glib_Rectangle(0,0,639,479,65535);
Glib_Line(0,0,639,479,65535);
Glib_Line(0,479,639,0,65535);
// 0#
// 00
Glib_Rectangle(0+640,0,639+640,479,65535);
Glib_Line(0+640,0,639+640,479,65535);
Glib_Line(0+640,479,639+640,0,65535);
// 00
// #0
Glib_Rectangle(0,0+480,639,479+480,65535);
Glib_Line(0,0+480,639,479+480,65535);
Glib_Line(0,479+480,639,0+480,65535);
// 00
// 0#
Glib_Rectangle(0+640,0+480,639+640,479+480,65535);
Glib_Line(0+640,0+480,639+640,479+480,65535);
Glib_Line(0+640,479+480,639+640,0+480,65535);
Glib_Rectangle(50+640,50+480,639+640-50,479+480-50,65535);
Uart_Printf("Virtual Screen Test(TFT 64K color). Press any key[ijkm\\r]!\n");
MoveViewPort(MODE_TFT_16BIT_640480);
Lcd_MoveViewPort(0,0,MODE_TFT_16BIT_640480);
Lcd_EnvidOnOff(0);
Lcd_Port_Return();
}
void Test_Lcd_Tft_16Bit_800600(void)
{
int i,j,k;
Lcd_Port_Init();
Lcd_Init(MODE_TFT_16BIT_800600);
Glib_Init(MODE_TFT_16BIT_800600);
Lcd_PowerEnable(0, 1);
Lcd_EnvidOnOff(1);
Uart_Printf("[TFT 64K COLOR(16bit/1pixel) LCD TEST]\n");
Glib_ClearScr(0, MODE_TFT_16BIT_800600);
Glib_FilledRectangle(0,0,799,599,0xf800);
Uart_Printf("TFT 64K color mode test 1. Press any key!\n");
Uart_Getch();
Glib_ClearScr(0, MODE_TFT_16BIT_800600);
Glib_Rectangle(0,0,799,599,0x07e0);
Glib_FilledRectangle(0,0,799,599,0xf800);
Glib_FilledRectangle(0,0,200,200,0xf800);
Glib_Rectangle(779,579,799,599,65535);
Glib_Line(0,0,799,599,0x1f);
Glib_Line(799,0,0,599,0xf800);
Uart_Printf("TFT 64K color mode test 2. Press any key!\n");
Uart_Getch();
Glib_ClearScr(0, MODE_TFT_16BIT_800600);
k=0;
for(i=200;i<600;i+=20)
{
for(j=150;j<450;j+=15)
{
while((rLCDCON5>>19)==2);
Glib_FilledRectangle(i,j,i+19,j+14,k);
k+=500;
}
}
// #0
// 00
Glib_Rectangle(0,0,319,239,65535);
Glib_Line(0,0,319,239,65535);
Glib_Line(0,239,319,0,65535);
// 0#
// 00
Glib_Rectangle(0+320,0,319+320,239,255);
Glib_Line(0+320,0,319+320,239,255);
Glib_Line(0+320,239,319+320,0,255);
// 00
// #0
Glib_Rectangle(0,0+240,319,239+240,255);
Glib_Line(0,0+240,319,239+240,255);
Glib_Line(0,239+240,319,0+240,255);
// 00
// 0#
Glib_Rectangle(0+320,0+240,319+320,239+240,255);
Glib_Line(0+320,0+240,319+320,239+240,255);
Glib_Line(0+320,239+240,319+320,0+240,255);
Glib_Rectangle(50+320,50+240,269+320,189+240,255);
Uart_Printf("TFT 64K color mode test 3. Press any key!\n");
Uart_Getch();
Glib_ClearScr(0, MODE_TFT_16BIT_800600);
k=0;
for(i=0;i<1200;i+=40)
for(j=0;j<900;j+=30)
{
Glib_FilledRectangle(i,j,i+39,j+29,k);
k+=500;
}
// #0
// 00
Glib_Rectangle(0,0,639,479,65535);
Glib_Line(0,0,639,479,65535);
Glib_Line(0,479,639,0,65535);
// 0#
// 00
Glib_Rectangle(0+640,0,639+640,479,65535);
Glib_Line(0+640,0,639+640,479,65535);
Glib_Line(0+640,479,639+640,0,65535);
// 00
// #0
Glib_Rectangle(0,0+480,639,479+480,65535);
Glib_Line(0,0+480,639,479+480,65535);
Glib_Line(0,479+480,639,0+480,65535);
// 00
// 0#
Glib_Rectangle(0+640,0+480,639+640,479+480,65535);
Glib_Line(0+640,0+480,639+640,479+480,65535);
Glib_Line(0+640,479+480,639+640,0+480,65535);
Glib_Rectangle(50+640,50+480,639+640-50,479+480-50,65535);
Uart_Printf("Virtual Screen Test(TFT 64K color). Press any key[ijkm\\r]!\n");
MoveViewPort(MODE_TFT_16BIT_800600);
Lcd_MoveViewPort(0,0,MODE_TFT_16BIT_800600);
Lcd_EnvidOnOff(0);
Lcd_Port_Return();
}
void Test_Lcd_Tft_16Bit_240320(void)
{
int i,j,k;
Lcd_Port_Init();
Lcd_Init(MODE_TFT_16BIT_240320);
Glib_Init(MODE_TFT_16BIT_240320);
Lcd_PowerEnable(0, 1);
Lcd_EnvidOnOff(1);
Uart_Printf("[TFT 64K COLOR(16bit/1pixel) LCD TEST]\n");
Glib_ClearScr(0, MODE_TFT_16BIT_240320);
Glib_FilledRectangle(0,0,239,159,0xf800);
Glib_FilledRectangle(0,160,239,320,0xf800);
Uart_Printf("TFT 64K color mode test 1. Press any key!\n");
Uart_Getch();
Glib_ClearScr(0, MODE_TFT_16BIT_240320);
Glib_Rectangle(0,0,239,319,0x07e0);
Glib_FilledRectangle(0,0,20,20,65535);
Glib_Rectangle(220,300,239,319,65535);
Glib_Line(0,0,239,319,0x1f);
Glib_Line(239,0,0,319,0xf800);
Uart_Printf("TFT 64K color mode test 2. Press any key!\n");
Uart_Getch();
Glib_ClearScr(0, MODE_TFT_16BIT_240320);
k=0;
for(i=80;i<240;i+=10)
{
for(j=60;j<180;j+=10)
{
Glib_FilledRectangle(j,i,j+9,i+9,k);
k++;
}
}
Glib_Rectangle(0,0,239,319,65535);
Glib_Line(0,0,239,319,65535);
Glib_Line(0,319,239,0,65535);
Glib_Rectangle(0+240,0,239+240,319,255);
Glib_Line(0+240,0,239+240,319,255);
Glib_Line(0+240,319,239+240,0,255);
Glib_Rectangle(0,0+320,239,319+320,255);
Glib_Line(0,0+320,239,319+320,255);
Glib_Line(0,319+320,239,0+320,255);
Glib_Rectangle(0+240,0+320,239+240,319+320,255);
Glib_Line(0+240,0+320,239+240,319+320,255);
Glib_Line(0+240,319+320,239+240,0+320,255);
Glib_Rectangle(40+240,40+320,480-41,640-41,0x1f);
Uart_Printf("Virtual Screen Test(TFT 64K color). Press any key[ijkm\\r]!\n");
MoveViewPort(MODE_TFT_16BIT_240320);
Lcd_MoveViewPort(0,0,MODE_TFT_16BIT_240320);
Lcd_EnvidOnOff(0);
Lcd_Port_Return();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -