战舰 2.8tft 横屏显示问题

2019-10-15 02:21发布

求助:通过系统提供的初始化参数修改可以横屏,不通过显存可以正常显示320*240的图片,通过显存后,显示的图片只有240*240(本来应该320*240)大小,后面的320-240的数据又从新从lcd的起始地址显示了,求解这是为什么啊,我的显存数组是【640】【240】,dma传输的第二次数据起始地址也设为了(LCD_CUR_LINE+160),求指导,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
summer
1楼-- · 2019-10-15 05:52
回复【8楼】正点原子:
---------------------------------
问题解决了,就是屏幕的显示范围设置问题,但还没搞清楚,在dma显存方式下,横屏的时候,需要设置那个显示区域的命令字2a(范围是0---239)2b(0----319),难道9341默认是竖屏的控制字,这样2a控制宽度,2b控制高度。 谢谢原子哥!
正点原子
2楼-- · 2019-10-15 08:15
你分析下横屏的时候,填充数据的规律!!
输出是320*240的,注意320是竖着的数据(竖屏的y坐标)。240是横着的数据(竖屏的x坐标)。
你改为横屏后,怎么填?
summer
3楼-- · 2019-10-15 13:58
回复【2楼】正点原子:
---------------------------------
原子哥,你好!
        我改为横屏之后,输出时320*240,横轴是320,竖轴是240,这样我定义数组的时候就是640*240(之前竖屏是480*320),这样写入的数据的填充就是竖着就是240,横着就是640(两帧),这样可以一列一列的填入我的数组矩阵了,此外,如果不通过显存dma方式显示我的320*240图片,而是直接显示函数显示就可以完成显示,图片的填充也是对的,然后,我就想,是不是显存的显示区域没定义好,但是我看了显示函数调用了LCD_Scan_Dir(),里面已经对显示区域进行了设置。 
        原子哥,我的数据填充到lcd的gram中的地址需要改变吗, 改为横屏之后,gram的起始地址需要改变吗
正点原子
4楼-- · 2019-10-15 19:21
 精彩回答 2  元偷偷看……
summer
5楼-- · 2019-10-16 00:45
嗯,之前没改,横屏显示也不行,就是没法完整显示一张320*240图片,这是为什么啊?原子哥 有没有战舰的横屏显示版本的程序?
正点原子
6楼-- · 2019-10-16 05:03
摄像头的没有,其他的,由函数可以直接调用的。

一周热门 更多>