ST77XX LCD屏红蓝颜色相反的问题具体修改哪些代码
时间: 2023-06-20 16:08:39 浏览: 44
ST77XX LCD屏红蓝颜色相反的问题一般是由于颜色模式选择错误导致的。具体修改哪些代码要根据你使用的驱动库而定。以下是一些常用的解决方案:
1. 如果使用 Adafruit 的 ST77XX 驱动库,可以尝试在初始化时修改颜色模式,将 `ST77XX_BLACKTAB` 改为 `ST77XX_COLTAB` 或相反。例如:
```c++
// 修改前
tft.initR(INITR_BLACKTAB);
// 修改后
tft.initR(INITR_COLTAB);
```
2. 如果使用其他的 ST77XX 驱动库,可以在初始化时指定颜色模式。例如:
```c++
// 修改前
tft.init();
// 修改后
tft.init(240, 320, SPI_MODE2);
```
在上面的例子中,SPI_MODE2 表示使用 RGB565 颜色模式,而不是 RGB666。
3. 如果以上方法都无效,可以尝试交换红蓝两个色彩通道的位置。例如,在 Adafruit 的 ST77XX 驱动库中,可以修改以下代码:
```c++
#define ST77XX_RED 0xF800
#define ST77XX_GREEN 0x07E0
#define ST77XX_BLUE 0x001F
// 修改前
#define ST77XX_COLOR(r, g, b) ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3)
// 修改后
#define ST77XX_COLOR(r, g, b) ((b & 0xF8) << 8) | ((g & 0xFC) << 3) | (r >> 3)
```
这里将红色和蓝色的位置调换了,可以解决颜色相反的问题。但是需要注意的是,这种方法只适用于 RGB565 颜色模式。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)