硬汉嵌入式论坛

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

[ESP32] 请教下,目前使用 esp32-s3 的模块驱动 spi 的接口lcd ,显示颜色不正常 ?

[复制链接]

609

主题

3047

回帖

4894

积分

至尊会员

积分
4894
发表于 2022-6-14 17:27:05 | 显示全部楼层 |阅读模式
请教下,目前使用 esp32-s3 的模块驱动 spi 的接口 lcd ,显示颜色不正常 ?

貌似就是 rgb,bgr, brg 没有搞对,这个货怎么会这样呀 ?

大神们有什么好的方法可以解决 ??


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2022-6-14 17:51:10 | 显示全部楼层
帮顶。
这个的SPI应该是字节收发吧,注意高低位顺序和字节顺序。
回复

使用道具 举报

3

主题

335

回帖

344

积分

高级会员

积分
344
发表于 2022-6-15 09:50:06 | 显示全部楼层
如果你是用lvgl的,要把LV_COLOR_16_SWAP宏设置为1。原因是SPI口输出以字节为单位,但LCD却期望以16bits为单位。
所以ESP32在像素缓存时就先交换了字节序,从而就可以直接通过DMA传输了(避免了传输之前的交换动作)。
回复

使用道具 举报

609

主题

3047

回帖

4894

积分

至尊会员

积分
4894
 楼主| 发表于 2022-6-15 17:18:41 | 显示全部楼层
eric2013 发表于 2022-6-14 17:51
帮顶。
这个的SPI应该是字节收发吧,注意高低位顺序和字节顺序。

确实是这个问题造成的,目前已经解决了,感谢感谢啊
回复

使用道具 举报

609

主题

3047

回帖

4894

积分

至尊会员

积分
4894
 楼主| 发表于 2022-6-15 17:20:46 | 显示全部楼层
glory 发表于 2022-6-15 09:50
如果你是用lvgl的,要把LV_COLOR_16_SWAP宏设置为1。原因是SPI口输出以字节为单位,但LCD却期望以16bits为 ...

确实是这个问题造成的,目前已经解决了,感谢感谢啊

不过我没有使用 lvgl , 直接 裸奔就行,后续看情况是否需要加上 lvgl,

不知道lvgl 消耗资源怎么洋啊 ?  我目前可用的 sram 只有 300 多KB, 还有一些其他的程序需要使用,估计留给 lvgl 的sram 不多
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 10:15 , Processed in 0.238706 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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