清洁机器人--屏幕显示LCD方案之MCU SPI 接口驱动ST7789 LCD显示,实现滚动

举报
aiot_bigbear 发表于 2022/09/25 00:32:13 2022/09/25
【摘要】 ST7789 SPI LCD硬件垂直滚动功能的使用 小熊派开发板的 LCD 小屏幕使用是ST7789驱动IC,之前一直有在该块屏幕上实现滚动显示的想法,最初构想在MCU侧创建一个大的队列,将整个屏幕显示...

ST7789 SPI LCD硬件垂直滚动功能的使用

小熊派开发板的 LCD 小屏幕使用是ST7789驱动IC,之前一直有在该块屏幕上实现滚动显示的想法,最初构想在MCU侧创建一个大的队列,将整个屏幕显示内容交由队列管理,然后不停的去整屏刷新以实现屏幕滚动。

理论上这样的实现比较耗资源,耗费CPU资源去操作SPI外设,耗费内存资源去存储显示数据,所以一直没有去做这件事。

今天在查看ST7789数据手册写论文时,偶然发现ST7789手册种:

咦?Scroll?滚动?发现新大陆!

根据手册中的8.14章节描述,旋转滚动仅仅是垂直滚动的一种模式,由垂直滚动区域定义指令(0x33H)和垂直滚动起始地址指令(0x77)决定。

原来我一直想做的功能,ST7789竟然硬件支持,研究研究如何实现,开干!
二、实现过程

  1. 准备工作
    需要了解SPI驱动 ST7789的基本原理,可以参考我的这篇教程:STM32CubeMX_17 | 使用硬件SPI驱动TFT-LCD(ST7789)。

  2. 设置滚动区域
    小熊派板载LCD屏幕的大小是240240,水平和垂直都有240个像素点,但是ST7789驱动IC的显存大小为320240,垂直有320行像素点,水平有240行像素点,平常我们只是用到了显存的前面一部分。

滚动显示首先需要设置滚动区域,显存垂直的320行像素点被划分为三个部分:

TFA为顶部固定显示区域,这部分指定后会固定显示,不会滚动显示ÿ

文章来源: blog.csdn.net,作者:悟空胆好小,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/xushx_bigbear/article/details/124442406

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。