⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2440lcd.c

📁 ucosii 移植到ARM 9 2440环境 基本已经完成 没有最终试验 恐有差错
💻 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 + -