最近一直接触BT、BLE、WIFI。不可避免要使用esp32,虽然其他芯片也在搞,由于时间的原因,很多东西都没有这里,后面坚持慢慢的更新出来,记录自己每一次进步......
环境:
硬件:esp32、1.8寸RGB_TFT(分辨率:128*160,st7735s驱动)
软件:vscode(esp-idf框架)、lvgl8.3
问题:ESP32驱动1.8寸RGB_TFT屏幕,出现颜色排序不对?
现象:在屏幕上显示三元色,发现红色与蓝色没有对上....
解决的方法:
去网上查找到一个方法是在lvgl的源码里面修改,但是没有解决这个问题,下图是热心网友的解决方案。
然,这并不能解决这个问题。
经过其他大佬的指导,找到了另外一个大佬的解决方法,屏幕驱动出发。因为官方提供的驱动有可能是BGR模式,但屏幕上用的是RGB模式,因此我就直接修改屏幕36寄存器的参数
找到st7735s.c的文件,修改36寄存器的参数:0xC8,经过展开刚好是配置了BGR模式,,所以就改为0xC0。这data数组里面控制屏幕不同的刷新顺序:从上到下;从下到上;从左到右;从右到左;这几个参数可以自行试一下。
修正之后的
至此,本文结束。感谢很多大佬给我提供一个指导,如有一些专业名词讲的不到位,还望各大佬见谅,同时希望可以在评论区留言,我一定会细细翻阅,认真思考。