📄 2440lcd.c
字号:
#include "includes.h"
#include "2440addr.h"
#include "2440lcd.h"
#include "2440lib.h"
// LCD 橇饭烙滚欺狼 矫累 林家甫 pointer to array of unsigned short 鸥涝 函荐俊 且寸
// 捞犯霸 窍搁 橇饭烙滚欺甫 fb甫 捞侩窍咯 640x480 LCD甫 2瞒盔 硅凯肺 力绢 啊瓷秦咙
FB_ADDR fb = (FB_ADDR)LCDFRAMEBUFFER;
//=========================================================================
// Function : TL_Init()
// Description : TFT-LCD 檬扁拳
// Param : width - LCD width
// height - LCD hight
// virtual_width - virtual screen width
// virtual_height - Virtual screen height
//=========================================================================
void TL_Init(int width, int height, int virtual_width, int virtual_height)
{
// Disable Pull-up register : OUTPUT.. SO, DISABLE..
rGPCUP = 0x0000FFFF;
// Initialize VD[7:0], VM(VDEN), VFRAME(VSYNC), VLINE(HSYNC), VCLK, LEND
rGPCCON = 0xAAAA52AA;
// Disable Pull-up register
rGPDUP = 0x0000FFFF;
// Initialize VD[23:8]
rGPDCON = 0xAAAAAAAA;
// CLKVAL 1, PNRMODE TFT_LCD, BPPMODE 16bpp, ENVID off
rLCDCON1 = (1<<8) | (3<<5) | (12<<1) | (0<<0);
// FRM565 5:6:5, Half-Word swap(Little enian)
rLCDCON5 = (1<<11) |1 << 9 | 1 << 8 | (1<<0);
// VBPD 33, LINEVAL 479, VFPD 10, VSPW 2
rLCDCON2 = (32<<24) | ((height-1)<<14) | (9<<6) | (1<<0);
// HBPD 40, HOZVAL 639, HFPD 24
rLCDCON3 = (39<<19) | ((width-1) <<8) | (23<<0);
// HSPW 96
rLCDCON4 = (95<<0);
rLCDSADDR1 = ((unsigned)fb >> 1);
rLCDSADDR2 = LOW21((unsigned)fb>>1) + (width+0) * (height);
rLCDSADDR3 = (0<<11) | (width);
rLCDCON1 |= (1<<0); // ENVID ON
// TL_FillFrame(GREEN);
}
//=========================================================================
// Function : TL_PutPixel()
// Description : Pixel窍唱甫 Frame buffer俊 嘛绰促.
// Param : x - x谅钎
// y - y谅钎
// color - 祸惑
//=========================================================================
void TL_PutPixel( int x, int y, int color )
{
// 裹困 八荤甫 秦林瘤 臼栏搁 橇饭烙滚欺 捞寇狼 皋葛府俊 立辟窍扁 锭巩俊 怖 秦林绢具 窃
if( ( x >= 0 && x < 480 ) && ( y >= 0 && y < 640 ) )
fb[y][x] = (int)color;
}
//=========================================================================
// Function : TL_FillFrame()
// Description : Buffer 傈眉甫 茄啊瘤 祸惑栏肺 盲款促.
// Param : color - 祸惑
// on - 盲匡 措惑 ( Frame or Memory )
//=========================================================================
void TL_FillFrame(int color)
{
int x, y;
for(y=0; y<640; y++)
{
for(x=0; x<480; x++)
{
fb[y][x] = color;
}
}
}
//=========================================================================
// Function : TL_FillFrame()
// Description : Buffer 傈眉甫 茄啊瘤 祸惑栏肺 盲款促.
// Param : color - 祸惑
// on - 盲匡 措惑 ( Frame or Memory )
//=========================================================================
void TL_Frame(int color)
{
int x, y;
for(y=0; y<640; y++)
{
for(x=0; x<239; x++)
{
fb[y][x] = color;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -