硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5872|回复: 5
收起左侧

[有问必答] 请教在 2.4 寸 TFT 上显示内部 FLASH 图片的方法

[复制链接]

7

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2013-12-9 11:37:30 | 显示全部楼层 |阅读模式
Image2lcd_Setting.jpg

TFT-LCD 规格:2.4寸
驱动IC:ILI9341
硬体接线:TFT 模组的 D15~D0 接到一个 16bit 的 I/O PORT 的 D15~D0

各位好:

ILI9341 的初始化以及画点画线等相关函数都已经完成了,现在想在屏幕上显示如上图的一张图片,
大小是 85 × 113,16 位彩色,其余选项如图面上的设定。
转出来的点阵数据为:85 × 113 × 2(16BPP) = 19128 + 8个Byte的影像头数据 = 19218 个元素如下所示:


const unsigned char gImage_flower16bit_H[19218] = {
0X00,0X10,0X55,0X00,0X71,0X00,0X01,0X1B,        //8个Byte的影像头数据
         ..............................
};

我的问题是,当有包含 8 个Byte的影像头数据时,这段循环查表的程式要怎么写?

假设我已经对 ILI9341 设置好一个 85 × 113 的显示范围,
我该怎么顺序抓取资料才能让点阵数据在屏幕上正确显示?
因为我的资料输出是 16 位元,而点阵数据是 8 位元一组,
这意味着我必须抓两次 8 位元合成一个 16 位元来显示一个点的颜色值,
能否给我指导我一下具体的程式写法,谢谢。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2013-12-9 13:41:49 | 显示全部楼层
给你发一个截图吧,看完后,你就应该比较的明白了,还有就是,图片显示你可以参考我们的Ex007-TFT显示文字图片例程(V2.0_2011-10-16).rar (1749 K)
http://www.armbbs.cn/forum.php?mod=viewthread&tid=3
竖图设置.PNG
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2013-12-9 13:42:09 | 显示全部楼层
虽然屏不一样,方法是一样的。
回复

使用道具 举报

7

主题

7

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2013-12-9 14:30:27 | 显示全部楼层
谢谢龙猫版主的指导,请问如果照您二楼的设定,那 ILI9341 的初始化程式是否也要同样改为「垂直扫瞄」及「自右至左扫瞄」?

因为我现在的初始化程式是「自上而下的水平扫瞄」及「自左至右扫瞄」。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2013-12-9 14:34:39 | 显示全部楼层

回 psir_murphy 的帖子

psir_murphy:谢谢龙猫版主的指导,请问如果照您二楼的设定,那 ILI9341 的初始化程式是否也要同样改为「垂直扫瞄」及「自右至左扫瞄」?

因为我现在的初始化程式是「自上而下的水平扫瞄」及「自左至右扫瞄」。 (2013-12-09 14:30) 
根据你的程序修改这个软件的扫描方式
回复

使用道具 举报

7

主题

7

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2013-12-10 16:38:34 | 显示全部楼层
unsigned short send_H;
unsigned short send_L;
unsigned long size;
unsigned long temp=19120;  //85 × 113 × 2(16BPP)

for(size=0;size<temp;size++){
  send_H=gImage_flower16bit_H[size]; send_H<<=8;    //移到Hi Byte
  send_L=gImage_flower16bit_H[++size];
  LCD_WR_DATA( send_H | send_L );
}
----------------------------------------------------
我将8个Byte的影像头数据去掉并写了一小段程式测试,
这样写就行了,不过 Image2lcd 的设定要改成「高位在前」,
我也不知道什麼原因,欢迎大神指导。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 12:11 , Processed in 0.167623 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表