清洁机器人--屏幕显示LCD方案之MCU SPI 接口驱动ST7789 LCD显示,实现滚动
ST7789 SPI LCD硬件垂直滚动功能的使用
小熊派开发板的 LCD 小屏幕使用是ST7789驱动IC,之前一直有在该块屏幕上实现滚动显示的想法,最初构想在MCU侧创建一个大的队列,将整个屏幕显示内容交由队列管理,然后不停的去整屏刷新以实现屏幕滚动。
理论上这样的实现比较耗资源,耗费CPU资源去操作SPI外设,耗费内存资源去存储显示数据,所以一直没有去做这件事。
今天在查看ST7789数据手册写论文时,偶然发现ST7789手册种:
咦?Scroll?滚动?发现新大陆!
根据手册中的8.14章节描述,旋转滚动仅仅是垂直滚动的一种模式,由垂直滚动区域定义指令(0x33H)和垂直滚动起始地址指令(0x77)决定。
原来我一直想做的功能,ST7789竟然硬件支持,研究研究如何实现,开干!
二、实现过程
-
准备工作
需要了解SPI驱动 ST7789的基本原理,可以参考我的这篇教程:STM32CubeMX_17 | 使用硬件SPI驱动TFT-LCD(ST7789)。 -
设置滚动区域
小熊派板载LCD屏幕的大小是240240,水平和垂直都有240个像素点,但是ST7789驱动IC的显存大小为320240,垂直有320行像素点,水平有240行像素点,平常我们只是用到了显存的前面一部分。
滚动显示首先需要设置滚动区域,显存垂直的320行像素点被划分为三个部分:
TFA为顶部固定显示区域,这部分指定后会固定显示,不会滚动显示ÿ
文章来源: blog.csdn.net,作者:悟空胆好小,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/xushx_bigbear/article/details/124442406
- 点赞
- 收藏
- 关注作者
评论(0)