简述
本文记录了在使用 FSMC 驱动 TFT-LCD 显示屏过程中遇到的显示图像出现的图像镜像问题,和图像显示中出现蓝色和红色颜色反转问题的处理过程。
这里使用到的是 ST7789H2 屏幕驱动,通过查阅该驱动的datasheet手册,可知在进行屏幕驱动寄存器配置过程中对 MADCTL (36h) 该地址的寄存器进行写值可进行对屏幕的旋转镜像显示及选择使用 RGB 或 BGR 的颜色顺序。如下图所示:
这里我们将根据实际需求选择竖屏模或横屏模式来配制对应的参数。我这里配置如下仅供参考:
LCD_WriteCmd(0x36);
if(LCD_DisplayMode_Landspace == init->DisplayMode)
{
LCD_WriteData(0x60u); //横屏 从右向左 镜像 RGB 序列显示
}
else
{
LCD_WriteData(0x00);
}
需要注意的是在配置为横屏或竖屏模式时,同时也要修改对应显示域的长宽参数。
LCD_WriteCmd(0x2A);
LCD_WriteData(0x00);
LCD_WriteData(0x00);
LCD_WriteData( ( (BOARD_LCD_WIDTH >> 8u) & 0xffu ) - 1 );
LCD_WriteData( ( (BOARD_LCD_WIDTH >> 0u) & 0xffu ) - 1 );
LCD_WriteCmd(0x2B);
LCD_WriteData(0x00);
LCD_WriteData(0x00);
LCD_WriteData( ( (BOARD_LCD_HEIGHT >> 8u) & 0xffu ) - 1 );
LCD_WriteData( ( (BOARD_LCD_HEIGHT >> 0u) & 0xffu ) - 1 );