整理代码

This commit is contained in:
ranchuan
2025-07-10 11:30:57 +08:00
parent c3df6f6ae2
commit 387ada7e6f
8 changed files with 2821 additions and 3180 deletions

View File

@@ -1,330 +1,279 @@
#ifndef __LCD_H
#define __LCD_H
#define __LCD_H
#include "stm32f4xx.h"
#define LCD_CLK 9 // <20><><EFBFBD><EFBFBD>LCD<43><44><EFBFBD><EFBFBD>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵӦ<D6B5><D3A6>10-70֮<30><EFBFBD><E4A3AC>λΪM
#define LCD_CLK 9 //<2F><><EFBFBD><EFBFBD>LCD<43><44><EFBFBD><EFBFBD>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵӦ<D6B5><D3A6>10-70֮<30><EFBFBD><E4A3AC>λΪM
#define HBP 40
#define VBP 8
#define HSW 1
#define VSW 1
#define HFP 5
#define VFP 8
#define HBP 40
#define VBP 8
#define HSW 1
#define VSW 1
#define HFP 5
#define VFP 8
#define LCD_Width 480 // LCD<43><44><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><D8B3><EFBFBD>
#define LCD_Height 272 // LCD<43><44><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>
#define LCD_Pixels (LCD_Width * LCD_Height) // <20>ֱ<EFBFBD><D6B1><EFBFBD>
#define LCD_MemoryAdd 0xD0000000 // <20>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
#define LCD_Width 480 //LCD<43><44><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><D8B3><EFBFBD>
#define LCD_Height 272 //LCD<43><44><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>
#define LCD_Pixels (LCD_Width*LCD_Height) //<2F>ֱ<EFBFBD><D6B1><EFBFBD>
#define LCD_MemoryAdd 0xD0000000 //<2F>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
// <09>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ƫ<EFBFBD>Ƶ<EFBFBD>ַ
// <09>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ƫ<EFBFBD>Ƶ<EFBFBD>ַ
// <09><><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>emWinʹ<6E><CAB9>32λɫ<CEBB><C9AB>ʽʱ<CABD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀռ<C4BF>
// <09><><EFBFBD><EFBFBD><E3B7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ<32><CEBB>ɫ<EFBFBD><C9AB>ʽΪ<CABD><CEAA><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ռ4<D5BC>ֽڣ<D6BD>ʹ<EFBFBD><CAB9>emWin<69><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>Ϊ<EFBFBD><CEAA>480*272*4*3
//
#define LCD_MemoryAdd_OFFSET ((uint32_t)LCD_Width*LCD_Height*4*3)
#define LCD_MemoryAdd_OFFSET ((uint32_t)LCD_Width * LCD_Height * 4 * 3)
/*---------------------- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -------------------------*/
void LCD_Init(void);
void LCD_Backlight (u8 power);
/*---------------------- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -------------------------*/
void LCD_Init(void);
void LCD_Backlight(u8 power);
/*-----------------------<2D><><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>--------------------------*/
//IO<49><4F>ʱ<EFBFBD><CAB1>
#define LCD_GPIO_CLK RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD \
| RCC_AHB1Periph_GPIOJ | RCC_AHB1Periph_GPIOK | RCC_AHB1Periph_GPIOI
// IO<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
#define LCD_GPIO_CLK \
RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | \
RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOJ | RCC_AHB1Periph_GPIOK | \
RCC_AHB1Periph_GPIOI
//<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LTDC_R0_PORT GPIOI
#define LTDC_R0_PIN GPIO_Pin_15
#define LTDC_R0_PINSOURCE GPIO_PinSource15
// <EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LTDC_R0_PORT GPIOI
#define LTDC_R0_PIN GPIO_Pin_15
#define LTDC_R0_PINSOURCE GPIO_PinSource15
#define LTDC_R1_PORT GPIOJ
#define LTDC_R1_PIN GPIO_Pin_0
#define LTDC_R1_PINSOURCE GPIO_PinSource0
#define LTDC_R1_PORT GPIOJ
#define LTDC_R1_PIN GPIO_Pin_0
#define LTDC_R1_PINSOURCE GPIO_PinSource0
#define LTDC_R2_PORT GPIOJ
#define LTDC_R2_PIN GPIO_Pin_1
#define LTDC_R2_PINSOURCE GPIO_PinSource1
#define LTDC_R2_PORT GPIOJ
#define LTDC_R2_PIN GPIO_Pin_1
#define LTDC_R2_PINSOURCE GPIO_PinSource1
#define LTDC_R3_PORT GPIOJ
#define LTDC_R3_PIN GPIO_Pin_2
#define LTDC_R3_PINSOURCE GPIO_PinSource2
#define LTDC_R3_PORT GPIOJ
#define LTDC_R3_PIN GPIO_Pin_2
#define LTDC_R3_PINSOURCE GPIO_PinSource2
#define LTDC_R4_PORT GPIOJ
#define LTDC_R4_PIN GPIO_Pin_3
#define LTDC_R4_PINSOURCE GPIO_PinSource3
#define LTDC_R4_PORT GPIOJ
#define LTDC_R4_PIN GPIO_Pin_3
#define LTDC_R4_PINSOURCE GPIO_PinSource3
#define LTDC_R5_PORT GPIOJ
#define LTDC_R5_PIN GPIO_Pin_4
#define LTDC_R5_PINSOURCE GPIO_PinSource4
#define LTDC_R5_PORT GPIOJ
#define LTDC_R5_PIN GPIO_Pin_4
#define LTDC_R5_PINSOURCE GPIO_PinSource4
#define LTDC_R6_PORT GPIOJ
#define LTDC_R6_PIN GPIO_Pin_5
#define LTDC_R6_PINSOURCE GPIO_PinSource5
#define LTDC_R6_PORT GPIOJ
#define LTDC_R6_PIN GPIO_Pin_5
#define LTDC_R6_PINSOURCE GPIO_PinSource5
#define LTDC_R7_PORT GPIOJ
#define LTDC_R7_PIN GPIO_Pin_6
#define LTDC_R7_PINSOURCE GPIO_PinSource6
#define LTDC_R7_PORT GPIOJ
#define LTDC_R7_PIN GPIO_Pin_6
#define LTDC_R7_PINSOURCE GPIO_PinSource6
//<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LTDC_G0_PORT GPIOJ
#define LTDC_G0_PIN GPIO_Pin_7
#define LTDC_G0_PINSOURCE GPIO_PinSource7
// <EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LTDC_G0_PORT GPIOJ
#define LTDC_G0_PIN GPIO_Pin_7
#define LTDC_G0_PINSOURCE GPIO_PinSource7
#define LTDC_G1_PORT GPIOJ
#define LTDC_G1_PIN GPIO_Pin_8
#define LTDC_G1_PINSOURCE GPIO_PinSource8
#define LTDC_G1_PORT GPIOJ
#define LTDC_G1_PIN GPIO_Pin_8
#define LTDC_G1_PINSOURCE GPIO_PinSource8
#define LTDC_G2_PORT GPIOJ
#define LTDC_G2_PIN GPIO_Pin_9
#define LTDC_G2_PINSOURCE GPIO_PinSource9
#define LTDC_G2_PORT GPIOJ
#define LTDC_G2_PIN GPIO_Pin_9
#define LTDC_G2_PINSOURCE GPIO_PinSource9
#define LTDC_G3_PORT GPIOJ
#define LTDC_G3_PIN GPIO_Pin_10
#define LTDC_G3_PINSOURCE GPIO_PinSource10
#define LTDC_G3_PORT GPIOJ
#define LTDC_G3_PIN GPIO_Pin_10
#define LTDC_G3_PINSOURCE GPIO_PinSource10
#define LTDC_G4_PORT GPIOJ
#define LTDC_G4_PIN GPIO_Pin_11
#define LTDC_G4_PINSOURCE GPIO_PinSource11
#define LTDC_G4_PORT GPIOJ
#define LTDC_G4_PIN GPIO_Pin_11
#define LTDC_G4_PINSOURCE GPIO_PinSource11
#define LTDC_G5_PORT GPIOK
#define LTDC_G5_PIN GPIO_Pin_0
#define LTDC_G5_PINSOURCE GPIO_PinSource0
#define LTDC_G5_PORT GPIOK
#define LTDC_G5_PIN GPIO_Pin_0
#define LTDC_G5_PINSOURCE GPIO_PinSource0
#define LTDC_G6_PORT GPIOK
#define LTDC_G6_PIN GPIO_Pin_1
#define LTDC_G6_PINSOURCE GPIO_PinSource1
#define LTDC_G6_PORT GPIOK
#define LTDC_G6_PIN GPIO_Pin_1
#define LTDC_G6_PINSOURCE GPIO_PinSource1
#define LTDC_G7_PORT GPIOK
#define LTDC_G7_PIN GPIO_Pin_2
#define LTDC_G7_PINSOURCE GPIO_PinSource2
#define LTDC_G7_PORT GPIOK
#define LTDC_G7_PIN GPIO_Pin_2
#define LTDC_G7_PINSOURCE GPIO_PinSource2
//<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LTDC_B0_PORT GPIOJ
#define LTDC_B0_PIN GPIO_Pin_12
#define LTDC_B0_PINSOURCE GPIO_PinSource12
// <EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LTDC_B0_PORT GPIOJ
#define LTDC_B0_PIN GPIO_Pin_12
#define LTDC_B0_PINSOURCE GPIO_PinSource12
#define LTDC_B1_PORT GPIOJ
#define LTDC_B1_PIN GPIO_Pin_13
#define LTDC_B1_PINSOURCE GPIO_PinSource13
#define LTDC_B1_PORT GPIOJ
#define LTDC_B1_PIN GPIO_Pin_13
#define LTDC_B1_PINSOURCE GPIO_PinSource13
#define LTDC_B2_PORT GPIOJ
#define LTDC_B2_PIN GPIO_Pin_14
#define LTDC_B2_PINSOURCE GPIO_PinSource14
#define LTDC_B2_PORT GPIOJ
#define LTDC_B2_PIN GPIO_Pin_14
#define LTDC_B2_PINSOURCE GPIO_PinSource14
#define LTDC_B3_PORT GPIOJ
#define LTDC_B3_PIN GPIO_Pin_15
#define LTDC_B3_PINSOURCE GPIO_PinSource15
#define LTDC_B3_PORT GPIOJ
#define LTDC_B3_PIN GPIO_Pin_15
#define LTDC_B3_PINSOURCE GPIO_PinSource15
#define LTDC_B4_PORT GPIOK
#define LTDC_B4_PIN GPIO_Pin_3
#define LTDC_B4_PINSOURCE GPIO_PinSource3
#define LTDC_B4_PORT GPIOK
#define LTDC_B4_PIN GPIO_Pin_3
#define LTDC_B4_PINSOURCE GPIO_PinSource3
#define LTDC_B5_PORT GPIOK
#define LTDC_B5_PIN GPIO_Pin_4
#define LTDC_B5_PINSOURCE GPIO_PinSource4
#define LTDC_B5_PORT GPIOK
#define LTDC_B5_PIN GPIO_Pin_4
#define LTDC_B5_PINSOURCE GPIO_PinSource4
#define LTDC_B6_PORT GPIOK
#define LTDC_B6_PIN GPIO_Pin_5
#define LTDC_B6_PINSOURCE GPIO_PinSource5
#define LTDC_B6_PORT GPIOK
#define LTDC_B6_PIN GPIO_Pin_5
#define LTDC_B6_PINSOURCE GPIO_PinSource5
#define LTDC_B7_PORT GPIOK
#define LTDC_B7_PIN GPIO_Pin_6
#define LTDC_B7_PINSOURCE GPIO_PinSource6
#define LTDC_B7_PORT GPIOK
#define LTDC_B7_PIN GPIO_Pin_6
#define LTDC_B7_PINSOURCE GPIO_PinSource6
//<2F><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD>
#define LTDC_CLK_PORT GPIOI //LCDʱ<44><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LTDC_CLK_PIN GPIO_Pin_14
#define LTDC_CLK_PINSOURCE GPIO_PinSource14
#define LTDC_HSYNC_PORT GPIOI //<2F><>ͬ<EFBFBD><CDAC>
#define LTDC_HSYNC_PIN GPIO_Pin_12
#define LTDC_HSYNC_PINSOURCE GPIO_PinSource12
#define LTDC_VSYNC_PORT GPIOI //֡ͬ<D6A1><CDAC>
#define LTDC_VSYNC_PIN GPIO_Pin_13
#define LTDC_VSYNC_PINSOURCE GPIO_PinSource13
#define LTDC_DE_PORT GPIOK //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
#define LTDC_DE_PIN GPIO_Pin_7
#define LTDC_DE_PINSOURCE GPIO_PinSource7
#define LTDC_Black_PORT GPIOD //<2F><><EFBFBD><EFBFBD>
#define LTDC_Black_PIN GPIO_Pin_13
#define COLOR565TO888(color) ((((color)&0xf800)<<8)|((color)&0x07e0)<<5|(((color)&0x001f)<<3))
#define COLOR888TO565(color) ((((color)>>8)&0xf800)|(((color)>>5)&0x07e0)|(((color)>>3)&0x001f))
//<2F><>RGBת<42><D7AA>Ϊ565<36><35>ʽ
#define RGB(r,g,b) ((((r)>>3)<<11)|(((g)>>2)<<5)|((b)>>3))
//RGBת<42>Ҷ<EFBFBD>
#define RGB2GRAY(rgb16) (((((rgb16)&0xf800)>>8)+(((rgb16)&0x07e0)>>3)+(((rgb16)&0x001f)<<3))/3)
//<2F>Ҷ<EFBFBD>תRGB
#define GRAY2RGB(gray) ((((gray)>>3)<<11)|(((gray)>>2)<<5)|((gray)>>3))
//#define U8 unsigned char
//#define U16 unsigned short
//#define U32 unsigned
//extern u32* LCD_ADDR;
//extern u32* LCD_ADDR1;
//typedef struct
//{
// u32 BackColor; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
// u32 Color; //ǰ<><C7B0><EFBFBD><EFBFBD>ɫ
// u32 ScreenDis; //<2F><>Ļ<EFBFBD><C4BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>1
// u32 DrawMode; //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>ɫʱ<C9AB><CAB1><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>ɫ<EFBFBD><C9AB>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>ɫʱ<C9AB><CAB1><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>ɫ
// u16 *DrawAddr; //<2F><><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ַ
// u32 LcdAddr; //<2F><>ǰָ<C7B0><D6B8><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>л<EFBFBD>
// u32 LcdSwitchEn; //1,<2C><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>LcdAddrָ<72><D6B8><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ַ<EFBFBD><D6B7>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>
// int LayerBuffEnter; //<2F><><EFBFBD><EFBFBD><EBBBBA><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
// int WindowSrcX; //<2F><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
// int WindowSrcY; //
// int WindowDstX;
// int WindowDstY;
//} LCD_Struct;
typedef struct
{
int xs;
int ys;
int xe;
int ye;
}LCD_WindowStruct;
typedef struct
{
int x_size;
int y_size;
int color;
int bkColor;
int effective; //1<><31><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>Ч
LCD_WindowStruct win;
LCD_WindowStruct realwin;
u16 *draw;
u16 *show;
void(*fresh)(void);
int LcdSwitchEn;
int LayerBuffEnter;
}LCD_Struct;
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD>
#define LTDC_CLK_PORT GPIOI // LCDʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LTDC_CLK_PIN GPIO_Pin_14
#define LTDC_CLK_PINSOURCE GPIO_PinSource14
#define LTDC_HSYNC_PORT GPIOI // <20><>ͬ<EFBFBD><CDAC>
#define LTDC_HSYNC_PIN GPIO_Pin_12
#define LTDC_HSYNC_PINSOURCE GPIO_PinSource12
#define LTDC_VSYNC_PORT GPIOI // ֡ͬ<D6A1><CDAC>
#define LTDC_VSYNC_PIN GPIO_Pin_13
#define LTDC_VSYNC_PINSOURCE GPIO_PinSource13
#define LTDC_DE_PORT GPIOK // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
#define LTDC_DE_PIN GPIO_Pin_7
#define LTDC_DE_PINSOURCE GPIO_PinSource7
#define LTDC_Black_PORT GPIOD // <20><><EFBFBD><EFBFBD>
#define LTDC_Black_PIN GPIO_Pin_13
typedef struct {
int xs;
int ys;
int xe;
int ye;
} LCD_WindowStruct;
typedef struct {
int x_size;
int y_size;
int color;
int bkColor;
int effective; // 1<><31><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>Ч
LCD_WindowStruct win;
LCD_WindowStruct realwin;
u16 *draw;
u16 *show;
void (*fresh)(void);
int LcdSwitchEn;
int LayerBuffEnter;
} LCD_Struct;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LCD<43><44><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʼ<EFBFBD><CABC>
//
void LCD_LayerInit(void);
// <20><>ȡͼ<C8A1><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ַ
u32 *LCD_GetShowAddr(void);
//<2F><>ȡͼ<C8A1><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ַ
u32 *LCD_GetShowAddr (void);
// <EFBFBD><EFBFBD>ȡͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ַ
u32 *LCD_GetDrawAddr(void);
//<2F><>ȡͼ<C8A1><CDBC><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ַ
u32 *LCD_GetDrawAddr (void);
u32 LCD_SetLayer(u32 AddrIndex);
u32 LCD_SetDrawLayer(u32 Index);
u32 LCD_SetLayer (u32 AddrIndex);
u32 LCD_SetLcdColor(u32 color);
u32 LCD_SetDrawLayer (u32 Index);
u32 LCD_SetLcdBkColor(u32 color);
u32 LCD_SetLcdColor (u32 color);
u32 LCD_SetLcdColor16(u32 color);
u32 LCD_SetLcdBkColor (u32 color);
u32 LCD_SetLcdBkColor16(u32 color);
u32 LCD_SetLcdColor16 (u32 color);
u32 LCD_GetLcdColor(void);
u32 LCD_SetLcdBkColor16 (u32 color);
u32 LCD_GetLcdBkColor(void);
u32 LCD_GetLcdColor (void);
u32 LCD_GetLcdColor16(void);
u32 LCD_GetLcdBkColor (void);
u32 LCD_GetLcdBkColor16(void);
u32 LCD_GetLcdColor16 (void);
// <20><EFBFBD><E3B8B4>
void LCD_LayerCopy(int dst, int src);
u32 LCD_GetLcdBkColor16 (void);
// <20><>ʼ<EFBFBD>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void LCD_LayerBufferOn(void);
//<2F><EFBFBD><EFBFBD>
void LCD_LayerCopy (int dst,int src);
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void LCD_LayerBuffShow(void);
//<2F><>ʼ<EFBFBD>ڻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void LCD_LayerBufferOn (void);
// <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ļˢ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><EFBFBD>
int LCD_GetLayerUpdataStat(void);
//<2F><>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void LCD_LayerBuffShow (void);
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void LCD_EnterLayerBuff(void);
//<2F><>ȡ<EFBFBD><EFBFBD>Ļˢ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><EFBFBD>
int LCD_GetLayerUpdataStat (void);
// <20>л<EFBFBD><D0BB><EFBFBD><E3A3AC><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶʱ<EFBFBD><EFBFBD>
void LCD_SwitchLayerBuff(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void LCD_EnterLayerBuff (void);
// <20>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void LCD_ExitLayerBuff(void);
//<EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶʱ<EFBFBD><EFBFBD>
void LCD_SwitchLayerBuff (void);
// <20><><EFBFBD>û<C3BB><EEB6AF><EFBFBD><EFBFBD>
void LCD_SetWindow(int x_s, int y_s, int x_size, int y_size);
//<2F>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void LCD_ExitLayerBuff (void);
int LCD_GetWindowSizeX(void);
//<2F><><EFBFBD>û<C3BB><EEB6AF><EFBFBD><EFBFBD>
void LCD_SetWindow (int x_s,int y_s,int x_size,int y_size);
int LCD_GetWindowSizeX (void);
int LCD_GetWindowSizeY (void);
int LCD_GetWindowSizeY(void);
int LCD_GetLcdSizeX(void);
int LCD_GetLcdSizeY (void);
int LCD_GetLcdSizeY(void);
//<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ģʽ<C4A3><CABD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>
void LCD_SetLcdDrawMode (int mode);
// <EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>
void LCD_SetLcdDrawMode(int mode);
void LCD_Clear (void);
void LCD_Clear(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>ʾ
void LCD_ClearRect (int x,int y,int x_size,int y_size);
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ʾ
void LCD_ClearRect(int x, int y, int x_size, int y_size);
void LCD_DrawPoint (int x,int y,u32 mode);
void LCD_DrawPoint(int x, int y, u32 mode);
void LCD_DrawPointSafe (int x,int y,u32 mode);
void LCD_DrawPointSafe(int x, int y, u32 mode);
//<2F><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>ɫ
void LCD_DrawPointSafeColor (int x,int y,u16 color);
// <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ɫ
void LCD_DrawPointSafeColor(int x, int y, u16 color);
//<2F><>ָ<EFBFBD><D6B8>ɫ͸<C9AB><CDB8><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>0~32
void LCD_DrawPointSafeColorAlpha (int x,int y,u16 color,u8 alpha);
// <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ɫ͸<EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD>0~32
void LCD_DrawPointSafeColorAlpha(int x, int y, u16 color, u8 alpha);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊԭ<CEAA><D4AD>
void LCD_FillRectByColor (int x,int y,int x_size,int y_size);
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊԭ<EFBFBD><EFBFBD>
void LCD_FillRectByColor(int x, int y, int x_size, int y_size);
//<2F><>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊԭ<CEAA><D4AD>
void LCD_FillRectByColorAlpha (int x,int y,int x_size,int y_size,u8 alpha);
// <EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊԭ<EFBFBD><EFBFBD>
void LCD_FillRectByColorAlpha(int x, int y, int x_size, int y_size, u8 alpha);
//void LCD_FillRect16 (u16 *buff,int xsize,int ysize);
// void LCD_FillRect16 (u16 *buff,int xsize,int ysize);
//void LCD_FillRectOff16 (u16 *buff,int x_s,int y_s,int xsize,int ysize);
// void LCD_FillRectOff16 (u16 *buff,int x_s,int y_s,int xsize,int ysize);
void LCD_FillRectOff16At (int s_x,int s_y,int s_xsize,int s_ysize,u16 *buff,int x_s,int y_s,int xsize,int ysize);
void LCD_FillRectOff16At(int s_x, int s_y, int s_xsize, int s_ysize, u16 *buff,
int x_s, int y_s, int xsize, int ysize);
//<2F><><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD>ȵ<EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
void LCD_FillRectOffAtAlpha (int s_x,int s_y,int s_xsize,int s_ysize,void *buff,int x_s,int y_s,int xsize,int ysize);
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void LCD_FillRectOffAtAlpha(int s_x, int s_y, int s_xsize, int s_ysize,
void *buff, int x_s, int y_s, int xsize, int ysize);
void LCD_GetColors (u16 *buff,int x_s,int y_s,int x_size,int y_size);
void LCD_GetColors(u16 *buff, int x_s, int y_s, int x_size, int y_size);
#endif
#endif