IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    关于 st7735s LCD 屏幕的一些问题处理

    Hacper\'s Blog发表于 2023-05-25 23:30:03
    love 0

    背景

    最近碰到一些 st7735s 屏幕的调试问题,记录一下解决办法。

    屏幕显示白边问题

    问题现象是刷屏之后,屏幕右边和下边存在白边,没有显示内容。原因其实是屏幕显示的地址范围设置不正确,需要通过 0x2A、0x2B 指令设置行列地址偏移。

    数据手册中对这两个命令的解释,0x2A命令带两个字节大小的两个参数,x_start、x_end,用来设置屏幕x轴上的显示地址范围,发数据的时候先发高字节再发第字节。

    0x2B 指令也是带两个参数 y_start 、y_end ,数据大小 2 字节,用来设置y轴上的显示起始地址和结束地址。

    示例代码修改屏幕显示地址偏移和范围:x: 1~128,y: 2~161。

    屏幕规格书里写的屏幕分辨率是 128*128,st7735s 的数据手册提到可以通过硬件配置 3 种屏幕分辨率

    • 128*160
    • 132*132
    • 132*162

    从实际的调试来看,这块屏幕应该配置的是 132*162 分辨率,设置显示地址偏移和范围之后便能正常显示了。

    设置屏幕显示旋转方向

    有时候可能需要设置屏幕的显示方向,比如旋转 90°、180°、镜像显示等,可以通过 0x36 指令的 MX MY MV 三个参数来设置,具体参考 st7735s 的数据手册。

    比如需要屏幕顺时针旋转 90° 显示,配置 0x36 指令的参数为 0x60。

    RGB-BGR 颜色顺序问题

    UI 的 RGB 颜色顺序有可能和驱动配置颜色顺序不一致,导致颜色显示不正常,可以通过 0x36 指令中的 RGB 参数设置颜色顺序。

    休眠唤醒出现花屏问题

    屏幕进入休眠再唤醒,出现花屏的现象。屏幕唤醒之后重新执行了初始化配置导致,规避方法是在屏幕初始化的时候不打开屏幕显示 0x29 指令,在刷屏的时候再开启屏幕显示。



沪ICP备19023445号-2号
友情链接