欢迎来到天天文库
浏览记录
ID:37462935
大小:37.50 KB
页数:7页
时间:2019-05-24
《s3c2410 LCD图片显示》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、s3c2410LCD图片显示 最近研究了s3c2410下LCD控制器的相关知识,主要的参考资料就是三星s3c2410数据手册(arm920T),英文版,看的不是非常明白,后来参考了WinCE下的部分代码,似有所领悟。于是写了此程序,用以在LCD上显示图片。本程序可以在LCD上居中显示小于800×480的任意大小的图片。用到的辅助工具就是上篇文章中的RGB分量提取器.关键模块如下:0、全局变量的定义:#defineDMA_BUFFER_BASE 0xAC000000#defineDMA_PHYSICAL_BASE 0x35000000 //S3
2、C2410X010x30000000#defineFRAMEBUF_BASE (DMA_BUFFER_BASE+0x00100000)#defineFRAMEBUF_DMA_BASE (DMA_PHYSICAL_BASE+0x00000000)//0x00100000#defineIOP_BASE 0x56000000//0x56000000typedefstruct { unsignedint GPACON; //00 unsignedint GPADAT; unsignedint PAD1[2];
3、 ................... }IOPreg; //DefineLCDtypeofS3C2400X01#defineTFT24BPP 3#defineLCDTYPE TFT24BPP //defineLCDtypeasupperdefinition.////Registers:LCDController//#defineLCD_BASE 0x4D000000//0x4D000000typedefstruct { unsignedint LCDCON1; //00 unsignedint LCDCON2; //04
4、 unsignedint LCDCON3; //08 .....................}LCDreg; //LCDregistervalue #defineMODE_TFT_24BIT (224)#defineLCD_XSIZE_TFT (800) #defineLCD_YSIZE_TFT (480)#defineARRAY_SIZE_TFT_24BIT (SCR_XSIZE*4*SCR_YSIZE)#defineHOZVAL_TFT (LCD_XSIZE_TFT-1)#defineL
5、INEVAL_TFT (LCD_YSIZE_TFT-1)#defineMVAL (13)#defineMVAL_USED (0)#defineVBPD ((32-1)&0xff)#defineVFPD ((11-1)&0xff)#defineVSPW ((2-1)&0x3f)#defineHBPD ((88-1)&0x7f)#defineHFPD ((40-1)&0xff)#define
6、HSPW ((128-1)&0xff)#defineCLKVAL_TFT (1)#defineM5D(n) ((n)&0x1fffff)U32*pLCDBuffer24=(U32*)FRAMEBUF_DMA_BASE;U32*picData;volatileLCDreg*s2410LCD=(LCDreg*)LCD_BASE; volatileIOPreg*s2410IOP=(IOPreg*)IOP_BASE;intnCol=800;//象素列数intnRow=480;//象素行数U32*picDataT=NULL;1
7、、入口函数,其中包括了相应端口、寄存器初始化的入口,aa,bb,cc,dd,ee是可选择的5幅预定义图片的GRB码数组,具体代码如下voidlcd_Main(void){ charsel; Uart_Printf("Lcd_Driver"); lcd_port_init(); lcd_regs_init(); Uart_Printf("selectonePicturetoshow(123450)"); whil
此文档下载收益归作者所有