📄 lcd.c
字号:
#include <string.h>
#include "2410addr.h"
#include "utils.h"
#include "def.h"
#include "lcdlib.h"
#include "lcd.h"
void Lcd_Port_Init(void);
void Lcd_Port_Return(void);
void Lcd_Palette1Bit_Init(void);
void Lcd_Palette8Bit_Init(void);
void __irq Lcd_Int_Frame(void);
void __irq Lcd_Int_Fifo(void);
void __irq Lcd_Int_Fifo_320240(void);
void (*PutPixel)(U32,U32,U32);
unsigned save_rGPCUP,save_rGPCDAT,save_rGPCCON;
unsigned save_rGPDUP,save_rGPDDAT,save_rGPDCON;
unsigned lcd_count;
void _PutTft8Bit_320240(U32 x,U32 y,U32 c)
{
if(x<SCR_XSIZE_TFT_320240 && y<SCR_YSIZE_TFT_320240)
frameBuffer8BitTft320240[(y)][(x)/4]=( frameBuffer8BitTft320240[(y)][x/4]
& ~(0xff000000>>((x)%4)*8) ) | ( (c&0x000000ff)<<((4-1-((x)%4))*8) );
}
void Lcd_Port_Init(void)
{
PutPixel=_PutTft8Bit_320240;
save_rGPCCON=rGPCCON;
save_rGPCDAT=rGPCDAT;
save_rGPCUP=rGPCUP;
save_rGPDCON=rGPDCON;
save_rGPDDAT=rGPDDAT;
save_rGPDUP=rGPDUP;
rGPCUP=0xffffffff; // Disable Pull-up register
rGPCCON=0xaaaaaaaa; //Initialize VD[7:0],LCDVF[2:0],VM,VFRAME,VLINE,VCLK,LEND
rGPDUP=0xffffffff; // Disable Pull-up register
rGPDCON=0xaaaaaaaa; //Initialize VD[23:8]
printf("Initializing GPIO ports..........\n");
}
void Lcd_Port_Return(void)
{
rGPCCON=save_rGPCCON;
rGPCDAT=save_rGPCDAT;
rGPCUP=save_rGPCUP;
rGPDCON=save_rGPDCON;
rGPDDAT=save_rGPDDAT;
rGPDUP=save_rGPDUP;
}
void Lcd_Palette8Bit_Init(void)
{
int i;
U32 *palette;
rLCDCON5|=(1<<11); // 5:6:5 Palette Setting
palette=(U32 *)PALETTE;
for(i=0;i<256;i++)
*palette++=0XE0;
}
void Test_Lcd_Tft_8Bit_320240(void)
{
// int i,j,k;
Lcd_Palette8Bit_Init();
Lcd_Port_Init();
Lcd_Init320240();
Lcd_PowerEnable(0, 1);
Lcd_EnvidOnOff(1);
printf("[TFT 256 COLOR(8bit/1pixel) LCD TEST]\n");
// Glib_ClearScr(0, MODE_TFT_8BIT_320240);
rTPAL = (1<<24)|((0xff)<<0); // Enable Temporary Palette : Blue
printf("TFT 256 color mode test 1. Press any key!\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -