📄 tft_disp.c
字号:
0xA7,0xB0,0xB7,0xB1,0x64,0xAE,0x54,0xBC,0xD6,0xA1,0x4E,0xBA,0xF1,0xA6,0xE2,0xA4,
0x57,0xBA,0xF4,0xA1,0xA8,0xAA,0xBA,0xBF,0xB3,0xBD,0xEC,0xA9,0x4D,0xB7,0x52,0xA6,
0x6E,0xA1,0x4D,0xA5,0xCE,0xB0,0xB7,0xB1,0x64,0xAA,0xBA,0xAE,0x54,0xBC,0xD6,0xA4,
0xE8,0xA6,0xA1,0xB3,0x76,0xBA,0xA5,0xB4,0xC0,0xA5,0x4E,0xA8,0xBA,0xA8,0xC7,0xA5,
0x4F,0xAE,0x61,0xAA,0xF8,0xB2,0x60,0xB4,0x63,0xB5,0x68,0xB5,0xB4,0xA1,0x4E,0xA5,
0x4F,0xA5,0xFE,0xAA,0xC0,0xB7,0x7C,0xC0,0x59,0xAF,0x6B,0xAA,0xBA,0xA4,0xA3,0xA8,
0x7D,0xBA,0xF4,0xB5,0xB8,0xB2,0xDF,0xBA,0x44,0xA1,0x4D,0xA5,0x48,0xA4,0xCE,0xAA,
0xFD,0xA4,0xEE,0xA4,0xA3,0xB0,0xB7,0xB1,0x64,0xAB,0x48,0xAE,0xA7,0xB9,0xEF,0xAB,
0x43,0xA4,0xD6,0xA6,0x7E,0xAA,0xBA,0xAB,0x49,0xC2,0x5A,0xA1,0x43,0x0D,0x0A
};
void init_Button(void )
{
byte i;
for(i = 0; i < 78; i++)
{
Test_Btn[i].size = 0x11;
Test_Btn[i].posi = i;
Test_Btn[i].fill_color = i*4;
Test_Btn[i].font_color = ~(Test_Btn[i].fill_color);
memset(Test_Btn[i].desc, 0x20, MAX_BTN_DESC_LEN);
memcpy(Test_Btn[i].desc, Chinese_Sample_Disp_table[i], strlen(Chinese_Sample_Disp_table[i]));
Test_Btn[i].desc[MAX_BTN_DESC_LEN] = i%2;
}
for(i = 0; i < MAX_BTN_DESC_LEN/2; i++)
{
Test_Btn[58].desc[i*2] = DB_BOLD_FONT;
Test_Btn[58].desc[i*2+1] = 'a'+i;
}
memset(Test_Btn[59].desc, 0x20, MAX_BTN_DESC_LEN);
for(i = 0; i < MAX_BTN_DESC_LEN/4; i++)
{
Test_Btn[59].desc[i*2] = DB_BOLD_FONT;
Test_Btn[59].desc[i*2+1] = 'a'+i;
}
Test_Btn[59].desc[MAX_BTN_DESC_LEN] = BOLD_FONT;
}
void Test_Draw_Button(void)
{
byte i;
init_Button();
Init_Func_Btn();
for(i = 0; i < MAX_LAYOUT_KEY; i++)
Lcd_Draw_Button(Test_Btn[i]);
}
void Test_Draw_Button_Ex(void)
{
byte i;
init_Button();
for(i = MAX_LAYOUT_KEY/2; i < MAX_LAYOUT_KEY; i++)
Lcd_Draw_Button(Test_Btn[i]);
}
/*
* Total 10 * 10 boxes on TFT
*/
void Test_DrawAllBox(char i,unsigned char color)
{
BYTE x,y;
int x_pos1,y_pos1;
if ( i == 0 ) /*Not fill*/
{
x_pos1 = 0;
y_pos1 = 0;
for (x=0;x<LCD_LAYOUT_VRT_LINE;x++)
{
for(y=0;y<LCD_LAYOUT_HOR_LINE;y++)
{
Lcd_Draw_Rect_EMP(x_pos1,y_pos1,x_pos1+KEY_ITEM_WIDTH-2,y_pos1+KEY_ITEM_HEIGHT-2,0x03); /*red color*/
y_pos1 += KEY_ITEM_HEIGHT;
}
x_pos1 += KEY_ITEM_WIDTH;
y_pos1 = 0;
}
}
else
{
x_pos1 = 0;
y_pos1 = 0;
for (x=0;x<LCD_LAYOUT_VRT_LINE;x++)
{
for(y=0;y<LCD_LAYOUT_HOR_LINE;y++)
{
Lcd_Draw_Rect_Fill(x_pos1,y_pos1,x_pos1+KEY_ITEM_WIDTH-2,y_pos1+KEY_ITEM_HEIGHT-2,color); /*red color*/
y_pos1 += KEY_ITEM_HEIGHT;
}
x_pos1 += KEY_ITEM_WIDTH;
y_pos1 = 0;
}
}
}
/*
* Total 10 * 10 boxes on TFT
*/
const byte color_tab[47] =
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x08, 0x17, 0x18, 0x1e,
0x1d, 0x1c,
0x3c, 0x7d, 0xfe, 0xfb, 0xf3, 0xef, 0xea, 0xe7, 0xe0,
0x3c, 0x7c, 0xfc, 0xf8, 0xf0, 0xec, 0xe8, 0xe6, 0xe0,
0xe1, 0xea, 0xf3, 0x7b, 0xdb, 0x93, 0x6b, 0x47, 0x23,
0xe1, 0xe2, 0xe3, 0x63, 0xc3, 0x83, 0x63, 0x43, 0x23,
};
void Test_DrawColorBox(char fill)
{
BYTE x,y;
int x_pos1,y_pos1;
byte color = 0;
if ( fill == 0 ) /*Not fill*/
{
x_pos1 = 0;
y_pos1 = 0;
for (x=0;x<LCD_LAYOUT_VRT_LINE;x++)
{
for(y=0;y<LCD_LAYOUT_HOR_LINE;y++)
{
Lcd_Draw_Rect_EMP(x_pos1,y_pos1,x_pos1+KEY_ITEM_WIDTH-2,y_pos1+KEY_ITEM_HEIGHT-2,color_tab[color]); /*red color*/
color++;
y_pos1 += KEY_ITEM_HEIGHT;
}
x_pos1 += KEY_ITEM_WIDTH;
y_pos1 = 0;
}
}
else
{
x_pos1 = 0;
y_pos1 = 0;
for (x=0;x<LCD_LAYOUT_VRT_LINE;x++)
{
for(y=0;y<LCD_LAYOUT_HOR_LINE;y++)
{
Lcd_Draw_Rect_Fill(x_pos1,y_pos1,x_pos1+KEY_ITEM_WIDTH-2,y_pos1+KEY_ITEM_HEIGHT-2,color_tab[color]); /*red color*/
color++;
y_pos1 += KEY_ITEM_HEIGHT;
}
x_pos1 += KEY_ITEM_WIDTH;
y_pos1 = 0;
}
}
}
char Color_Get(char c)
{
char charbkcolor= 0;
switch(c)
{
case 0: charbkcolor = 0x03; break;
case 1: charbkcolor = 0xe0; break;
case 2: charbkcolor = 0x1c; break;
case 3: charbkcolor = 0x00; break;
default: charbkcolor = 0x55; break;
}
return(charbkcolor);
}
void TFT_Test(byte step)
{
char charbkcolor = 0;
unsigned char i = 0;
switch(step)
{
case 0://清屏测试
TFT_Clear(0);
for (i=0;i<10;i++)
{
switch(i%5)
{
case 0: charbkcolor = 0x03; break;
case 1: charbkcolor = 0xe0; break;
case 2: charbkcolor = 0x1c; break;
case 3: charbkcolor = 0x00; break;
default: charbkcolor = 0x55; break;
}
TFT_Clear(charbkcolor);
}
break;
case 1://画单色框/单色矩形 测试
TFT_Clear(0); /*Clear the TFT display*/
Test_DrawAllBox(0,0);
{
char cc;
char i;
for (i=0;i<10;i++)
{
cc = i | (i << 4);
Test_DrawAllBox(1,cc);
}
}
break;
case 2:
TFT_Clear(0xff); /*Clear the TFT display*/
Test_DrawColorBox(1);
break;
case 3://测试画圆.
TFT_Clear(0x03); /*Clear the TFT display*/
{
void Lcd_Draw_Circle(int xc, int yc, int radius, unsigned char c);
void Lcd_Draw_Circle_Fill(int x0, int y0, int r, unsigned char c);
char i;
char j;
static c = 0;
for (i=0;i<10;i++)
{
Lcd_Draw_Circle(120,240,(i+1)*12,Color_Get(c&0x03));
Lcd_Draw_Circle(360,240,(i+1)*12,Color_Get(c&0x03));
Lcd_Draw_Circle(600,240,(i+1)*12,Color_Get(c&0x03));
Lcd_Draw_Circle(760,240,(i+1)*4,Color_Get(c++&0x03));
}
for (i=0;i<10;i++)
{
Lcd_Draw_Circle_Fill(120,240,(i+1)*12,Color_Get(c&0x03));
Lcd_Draw_Circle_Fill(360,240,(i+1)*12,Color_Get(c&0x03));
Lcd_Draw_Circle_Fill(600,240,(i+1)*12,Color_Get(c&0x03));
Lcd_Draw_Circle_Fill(760,240,(i+1)*4,Color_Get(c++&0x03));
}
}
break;
case 4:
// TFT_Clear(LIGHTGRAY); /*Clear the TFT display*/
Test_Draw_Button();
break;
case 5:
Test_Draw_Button_Ex();
break;
case 6:
Lcd_Disp_Text_btn(BUF_ID_TL_INPUT, "PC界面上能够实现", 16, 32, FONT_HZ_16x16, ALIGN_LEFT);
Lcd_Disp_Text_btn(BUF_ID_TL_SUB, "PC界面上能够实现收款机中所有参数的编程输入", 42, 32, FONT_HZ_16x16, ALIGN_LEFT);
Lcd_Disp_Text_btn(BUF_ID_TL_TITLE,"ABCDEFGHIJKLMNOPQRSTUVWXYZ", 26, 32, DEFAULT_FONT, ALIGN_LEFT);
for(i = 0; i < 20; i++)
{
textmem(test_BIG5 + i*32, 32, FONT_HZ_16x16, 0x11, true, WHITE, 10, 100 + i*16);
}
break;
case 7:
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 0);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 30);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 60);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 90);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 120);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 150);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 180);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 210);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 240);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 270);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 300);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 330);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 360);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 390);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 420);
text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 450);
break;
default:
{
char str[10];
char str_bak[10];
char cntr = 0;
while(cntr < 60)
{
memset(str, ' ', 10);
str[0]=(char)(GetHour()/10+'0'); /* hour */
str[1]=(char)(GetHour()%10+'0');
str[2] = '-';
str[3]=(char)(GetMinute()/10+'0'); /* minute */
str[4]=(char)(GetMinute()%10+'0');
str[5] = '-';
str[6]=(char)(GetSecond()/10+'0'); /* second */
str[7]=(char)(GetSecond()%10+'0');
str[8] = 0;
if (memcmp(str,str_bak,10))
{
cntr ++;
memcpy(str_bak,str,10);
TFT_Clear(0x00);
text(str, FONT_ASC_24x48, 0x11, NULL, 0xe0, 300, 200);
}
if(GetMainMode() != X_OFF)
break;
}
}
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -