硬汉嵌入式论坛

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

[ThreadX全家桶] GUIX ST7789无需画布怎么驱动?

[复制链接]

8

主题

31

回帖

55

积分

初级会员

积分
55
发表于 2021-6-25 11:19:56 | 显示全部楼层 |阅读模式
之前提供的综合例子是基于H7自带的驱动+画布的形式,那么比如基于ST7789这种自带显存不需要画布的,需要怎么搞?要不要在H7上出个历程呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115812
QQ
发表于 2021-6-25 14:14:07 | 显示全部楼层
前段时间做了个,你可以参考下

ThreadX GUIX直驱方案搞定,任何显示屏,低资源的MCU都可以跑了,不再需要画布,附工程下载
http://www.armbbs.cn/forum.php?m ... 7202&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

3

主题

92

回帖

101

积分

初级会员

积分
101
发表于 2021-7-12 16:51:37 | 显示全部楼层
1、屏分辨率是240x320,接口是16bit paralle data bus for 8080 seriescpu,就是16位并口再加WR,RD,CS,RS接口,屏的复位可以采用RC上电复位电路。

2、cpu这边输出的信号是320x240的,这里没写错,输出的数据是横屏显示的,可屏幕看起来是竖屏的,不过不用担心,屏控制器这边是可设置方向的爱怎么显示就怎么显示这就是“cpu屏”的好处。

点这种类型的屏主要的工作就是初始化代码了,一般屏供应商都会提供一份参考的稍微修改一下就可以正常显示了。这次拿到的初始化代码据说是可以正常显示的,实际显示效果如何不得而知,需要怎样格式的数据不得而知,一般情况下是先使用参考的初始化点一下看看效果再做打算。

点出来的效果发现是竖着显示的,并且画面也不对。于是想到先把X,Y交换过来,看了下ST7789V的datasheet有个寄存器需要设置一下,看8.12 Address Control
章节内容需要设置一下36h寄存器的MV=1 MX=0 MY=1这几位

9.1.28 MADCTL (36h): Memory Data Access Control
lcd_send_cmd(0,0x36);

lcd_send_cmd(1,0xa0);

MV=1;//交换XY

MY=1;//Y镜像

最终出来的效果是画面横着出来了但还是显示不正确,整个显示画面分成了3个区域,这下想到应该是行、列地址范围没设对,默认行是Y=320列是X=240,现在行列已经反过来了X=320,Y=240所以需要设置一下行列的地址范围,查看datasheet得知有几个相关寄存器需要设置分别是

9.1.20 CASET (2Ah): Column Address Set

lcd_send_cmd(0,0x2a);
lcd_send_cmd(1,0x00); //列起始地址
lcd_send_cmd(1,0x00);
lcd_send_cmd(1,0x01); //列结束地址
lcd_send_cmd(1,0x3f); //0x13f=319


9.1.21 RASET (2Bh): Row Address Set

lcd_send_cmd(0,0x2b);
lcd_send_cmd(1,0x00); //行起始地址
lcd_send_cmd(1,0x00);
lcd_send_cmd(1,0x00); //行结束地址
lcd_send_cmd(1,0xef); //239

设置完以后就可以正常显示了~

20180111:最近又在另一个平台上调这个屏有了新的发现,所谓的行列起始结束地址应该是拿来存放数据到ram的时候用的。驱动IC会把接收到的数据按照行列来存储最终显示出来。

以这里设置为横屏(320x240)为例,cpu的FrameBuffer(FB)给出来的数据就应该以320x240组织的,这样给到屏这边的时候屏才能满屏显示。假如FB给出来的数据是240x320这种组织结构的,屏这边只会收到240x240的数据而且会把240x240的数据按照320x240的方式写到ram中,实际ram中只能收到320x180(240x240)个像素的数据,从而显示上表示出来就是一部分图片。因为fb的x只输出了240列240行。
————————————————
版权声明:本文为CSDN博主「非典型ITman」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/carey_csdn/article/details/78533527
回复

使用道具 举报

3

主题

92

回帖

101

积分

初级会员

积分
101
发表于 2021-7-12 16:52:13 | 显示全部楼层
有试过设置屏,不要颠倒RAM的数据,这样省时间
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-21 01:05 , Processed in 0.270616 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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