- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
s3c2410 LCD图片显示
s3c2410 LCD图片显示
?????? 最近研究了s3c2410下LCD控制器的相关知识,主要的参考资料就是 三星s3c2410数据手册(arm920T),英文版,看的不是非常明白,后来参考了WinCE下的部分代码,似有所领悟。于是写了此程序,用以在LCD上显示图片。本程序可以在LCD上居中显示小于800×480的任意大小的图片。用到的辅助工具就是上篇文章中的RGB分量提取器.关键模块如下:
0、全局变量的定义:
#define DMA_BUFFER_BASE??????????? 0xAC000000#define DMA_PHYSICAL_BASE??????? 0 // S3C2410X01 0#define FRAMEBUF_BASE??????????????? (DMA_BUFFER_BASE + 0#define FRAMEBUF_DMA_BASE??????????? (DMA_PHYSICAL_BASE + 0//0#define IOP_BASE????? 0// 0typedef struct? {??? unsigned int? GPACON;??????? // 00??? unsigned int? GPADAT;??? unsigned int? PAD1[2];??? ??? }IOPreg;? ?// Define LCD type of S3C2400X01#define TFT24BPP??? 3#define LCDTYPE???? TFT24BPP?? // define LCD type as upper definition.//// Registers : LCD Controller//
#define LCD_BASE????? 0x4D000000 // 0x4D000000typedef struct? {??? unsigned int? LCDCON1;??????? // 00??? unsigned int? LCDCON2;??????? // 04??? unsigned int? LCDCON3;??????? // 08??? }LCDreg ;???
// LCD register value???
#define MODE_TFT_24BIT??????????? (224)#define LCD_XSIZE_TFT?????? (800)??? #define LCD_YSIZE_TFT?????? (480)#define ARRAY_SIZE_TFT_24BIT??? (SCR_XSIZE*4*SCR_YSIZE)#define HOZVAL_TFT????????? (LCD_XSIZE_TFT-1)#define LINEVAL_TFT???????? (LCD_YSIZE_TFT-1)#define MVAL??????????????? (13)#define MVAL_USED?????????? (0)#define VBPD??????????????? ((32-1)0xff)#define VFPD??????????????? ((11-1)0xff)#define VSPW??????????????? ((2-1) 0x3f)#define HBPD??????????????? ((88-1)0x7f)#define HFPD??????????????? ((40-1)0xff)#define HSPW??????????????? ((128-1)0xff)#define CLKVAL_TFT????????? (1)#define M5D(n)????????????? ((n) 0x1fffff)
U32* pLCDBuffer24=(U32*)FRAMEBUF_DMA_BASE;U32* picData;
volatile LCDreg *s2410LCD = (LCDreg *)LCD_BASE;?
volatile IOPreg *s2410IOP= (IOPreg *)IOP_BASE;
int nCol = 800;//象素列数int nRow = 480;//象素行数U32* picDataT=NULL;
1、入口函数,其中包括了相应端口、寄存器初始化的入口,aa,bb,cc,dd,ee是可选择的5幅预定义图片的GRB码数组,具体代码如下
void lcd_Main(v
文档评论(0)