BearPi Std 板从入门到放弃 - 引气入体篇(11)(SPI驱动 TFT LCD(ST7789))

简介

SPI 驱动 ST7789V2 进行字符显示, 并且使用中文库显示中文信息。主芯片: STM32L431RCT6LED : PC13 \ 推挽输出即可 \ 高电平点亮串口: Usart1 / LPUARTSPI(与LCD数据传输) : SPI2LCD_RESET(复位引脚):  PC7 \  推挽输出即可 LCD_POWER(背光灯电源引脚): PC6 \  推挽输出即可 LCD_WR_RS(片选引脚): PB15 \  推挽输出即可 

电路原理图

TFT LCD 电路原理图

在这里插入图片描述

知识点

TFT LCD (ST7789V2)

256K Color

TFT-LCD模块是一种液晶显示器,其每一个像素上都设置有一个薄膜晶体管(TFT),以实现对每个像素的独立控制。262K Color代表的是液晶显示器上每个像素的颜色变化数量,即能够显示262,144种颜色。这种色彩深度的实现,是通过调节液晶光栅的占空比,利用人眼的视觉暂留效应来改变每个色点亮度的方式完成的。
------------------------------------------------------------------------------------------------------------

计算上,对于262K颜色,由于采用的是18位色来计算,因此每个像素由18位二进制数来控制其颜色。从0到2的18次方减1,总共可以有262,144种不同的颜色组合。具体来看,如果每个像素的颜色用8位二进制数表示,我们就叫它8位图,它可以表达2的8次方即256种颜色;如果每个像素的颜色用16位二进制数表示,我们就叫它16位图,它可以表达2的16次方即65536种颜色。

source line

Source line(源极线)是指位于液晶面板底部的一条水平线路,每个像素都有一个对应的源极线。它的作用是将来自驱动器的信号传输到像素电极上,以控制像素的亮度和颜色。
720 source line = 240*RGB (H) # 其中H代表横向

gate line

Gate line(栅极线)是指位于液晶面板顶部的另一条水平线路,每行像素都有一个对应的栅极线。它的作用是通过控制液晶分子的方向来控制光的透过程度,从而实现图像显示。
320 gate line = 320(V) # 其中V代表纵向

240*RGB (H) *320(V) 分辨率

240*RGB (H) *320(V) 表示显示器的分辨率为240像素宽,每个像素由红、绿、蓝三个子像素组成(RGB),水平方向有240个这样的像素(H表示水平方向),垂直方向有320个这样的像素(V表示垂直方向)。

Display Colors

Display Colors (Color Mode) 是指显示器的颜色模式,它决定了屏幕上显示的颜色数量和颜色深度。
Full Color: 262K, RGB=(666) max., Idle Mode Off 表示全彩模式,每个像素由红、绿、蓝三个子像素组成,总共有262,000种不同的颜色组合。在这种模式下,每个像素可以独立控制其红、绿、蓝三个通道的亮度,因此可以显示更多的颜色。同时,全彩模式的空闲模式为关闭状态,即在没有信号输入时,显示器不会自动调整颜色。这种模式适用于需要显示大量不同颜色的场合,如电视、电脑显示器等。
Color Reduce: 8-color, RGB=(111), Idle Mode On 表示减色模式,每个像素由红、绿、蓝三个子像素组成,总共只有8种不同的颜色组合。在这种模式下,每个像素只能选择其中一种颜色进行显示,因此无法显示更多颜色。同时,减色模式的空闲模式为开启状态,即在没有信号输入时,显示器会自动调整颜色以节省能源。这种模式适用于对颜色要求不高的场合,如手机、平板电脑等。

Interface Mode

IM3、IM2、IM1、IM0是液晶显示屏控制器中常用的接口模式。这些接口模式是由硬件设计者根据需求选择的,可以通过IM0、IM1、IM2这3个引脚的上下拉电阻来灵活选择芯片的总线方式。

LCD_WR_RS (CX)

Write to Register or Display RAM

ST7789 设置列地址

LCD_WR_RS (D/CX):
0 -> Write Command
1 -> Write Data
在这里插入图片描述

ST7789 设置行地址

在这里插入图片描述

ST7789 设置该区域各像素点值

在这里插入图片描述### SPI

SPI (Serial Peripheral Interface)
 串行外设接口,是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。SPI主要采用四线制:SS(Slave Select):从设备使能信号,由主设备控制。;SCK (Serial Clock):时钟信号线,由主设备发出;MOSI (Master Output Slave Input): 主设备输出 / 从设备输入引脚;MISO(Master Input Slave Output):主设备输入 / 从设备输出引脚。
CPOL和CPHA是两个与串行通信相关的控制信号。

CPOL:表示时钟的极性(Clock Polarity)。当CPOL为高电平时,表示数据在时钟的上升沿被采样;当CPOL为低电平时,表示数据在时钟的下降沿被采样。
CPHA:表示数据的相位(Clock Phase)。当CPHA为0时,表示数据在第一个边沿(上升沿或下降沿)被采样;当CPHA为1时,表示数据在第二个边沿(下降沿或上升沿)被采样。
这两个控制信号通常用于串行通信中的数据传输速率和同步方式的控制。

下图是TFT的写采样示例, WRx是上升沿 与 第二边沿采样
在这里插入图片描述

步骤

创建项目工程

参考 BearPi Std 板从入门到放弃 - 引气入体篇(1)(由零创建工程到点亮LED)

初始化引脚

  1. 初始化 LCD_RESET、LCD_POWER、LCD_WR_RS
    在这里插入图片描述
  2. 初始化SPI2
    在这里插入图片描述
    默认SPI2 SCK引脚是PB10, 电路图上是PB13, 修改一下
    在这里插入图片描述

生成项目

编译执行

添加用户代码

参考 BearPi LCD 驱动 , 将整个LCD的目录加到项目工程

	int main(){...LCD_Init();LCD_Clear(WHITE); // 清屏为白色...}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/238550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过几个基本概念说一下为什么openGauss是当下之选?

Database、Schema、User都是数据库的基本概念,SQL标准中也有明确规范。但不同数据库的具体实现也不尽相同,有些甚至大相径庭。这就导致用户在做国产化选型和数据库迁移时可能会遇到种种困难。本文从这几个基本概念展开,说说为什么openGauss系…

CHARLS CLHLS CFPS公共数据库, 最新文章|周报(12.6)

欢迎参加郑老师2023年孟德尔随机化课程即将开始 发表文章后退款!郑老师科研统计课程详情 CHARLS公共数据库 CHARLS数据库简介中国健康与养老追踪调查(China Health and Retirement LongitudinalStudy,CHARLS)是一项持续的纵向调查,旨在调查中…

Stable Diffusion Windows 部署简单认知

写在前面 偶然看到,简单了解博文为 SD 部署,以及简单使用,部署过程遇到问题解决理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。…

pnpm :无法加载文件 D:\nodejs\node_global\pnpm.ps1,因为在此系统上禁止运行脚本

目录 一、问题描述 二、原因分析 三、解决问题 一、问题描述 pnpm : 无法加载文件 D:\learningsoftware\nodejs\node_global\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID1351 70 中的 a…

大象机器人发布万元级水星Mercury人形机器人产品系列,联结未来,一触即达!

十四五机器人产业发展规划指出机器人的研发、制造、应用是衡量一个国家科技创新和高端制造业水平的重要标志。当前,机器人产业蓬勃发展,正极大改变着人类生产和生活方式,为经济社会发展注入强劲动能。 人形机器人作为机器人产业中重要的一环&…

Java异常类分类,所有子类的父类是什么

1.异常的层次机构: 所有异常的父类是Throwable,它有两个子类,分别是Error和Exception。 2.Error: 表示系统错误,通常不能处理和恢复。比如StackOverFlowError或者OutOfMemoryError,出了问题只能结束程序…

Grafana安装zabbix插件

文章目录 一、在线安装zabbix插件二、离线安装1.下载安装2.grafana配置zabbix数据源 一、在线安装zabbix插件 如果grafana服务器可以联网即可在线安装。 安装方法官网上有:官网链接联网安装比较慢。 二、离线安装 1.下载安装 官网下载链接 [rootnode1 src]# mo…

猫罐头哪个品牌好?五款性价比高的猫罐头推荐

很多新手养猫的姐妹们都会为选罐头感到焦虑!但是每种罐头都有优缺点,每只猫咪的胃口也都不同,只有适合自家猫的才是最好的。所以姐妹们在选罐头之前可以先做好功课,了解一下怎么选好的罐头。 作为家里有3只猫的铲屎官来说&#xf…

Text Intelligence - TextIn.com AI时代下的智能文档识别、处理、转换

本指南将介绍Text Intelligence,AI时代下的智能文档技术平台 Textin.com 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认…

Ubuntu 常用命令之 clear 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 clear命令在Ubuntu系统下用于清除终端屏幕的内容。这个命令没有任何参数,它的主要作用就是清理终端屏幕上的所有信息,使得屏幕看起来像是新打开的一样。 使用clear命令非常简单,只需要在终端中…

JavaScript读写15693 ICod2 卡源码

本示例使用设备 &#xff1a; https://item.taobao.com/item.htm?spma1z10.5-c-s.w4002-21818769070.11.23eb789efg450Y&id615391857885 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-t…

camera 客观校准 (1)——抓图

#灵感# 客观校准很多平台都有&#xff0c;无非是抓raw&#xff0c;导入到calibration tool 中&#xff0c;设置一些参数&#xff0c;导出相应的校准数据。抓raw的方法&#xff0c;也是大差不差。但有些地方细节容易忽略&#xff0c;所以罗列一下。 目录 blc: lsc: color: …

ELFK日志收集

文章目录 第一章:ELK日志收集系统介绍日志收集重要性ELK介绍EFK介绍ELFK介绍ES部署Kibana部署第二章:Logstach日志收集Logstash介绍Logstash安装Logstash Input输入插件Logstash Filter过滤插件Logstash Output输出插件Input fileFilter mutatesplit示例add_field示例remove_…

ATFX期市:安哥拉宣布退出OPEC,减产计划还能否彻底执行?

ATFX期市&#xff1a;昨日&#xff0c;安哥拉矿产资源、石油和天然气部长迪亚曼蒂诺阿泽维多在首都罗安达宣布&#xff0c;安哥拉决定退出OPEC&#xff0c;原因是此前OPEC第36次会议将安哥拉的产量配额设定为111万桶&#xff0c;不及安哥拉方面提出的118万桶。安哥拉的退出预计…

操作系统期末知识点总结

第一章 1、操作系统&#xff1a;OS是一个大型的系统软件、它负责计算机的全部软件和硬件资源的管理&#xff0c;并为用户提供良好的应用界面&#xff0c;使整个计算机系统实现高效率和高度自动化 2、操作系统的形成 1&#xff09;手工操作阶段 2&#xff09;批处理系统&…

Pooling方法总结(语音识别)

Pooling layer将变长的frame-level features转换为一个定长的向量。 1. Statistics Pooling 链接&#xff1a;http://danielpovey.com/files/2017_interspeech_embeddings.pdf The default pooling method for x-vector is statistics pooling. The statistics pooling laye…

爬虫工具Curl!

爬虫工具Curl&#xff01; 链接: Curl 使用它可以将网站内的信息转成python可用格式 打开开发工具中的网络选项卡右键单击&#xff08;或按住 Ctrl 键单击&#xff09;请求单击“复制”→ “复制为 cURL”粘贴到上面的curl命令框中 !!!警告&#xff1a;复制的命令可能包含 co…

redis基本用法学习(C#调用NRedisStack操作redis)

redis官网文档中推荐C#中使用NRedisStack包连接并操作redis&#xff0c;本文学习C#调用NRedisStack操作redis的基本方式。   新建Winform项目&#xff0c;在Nuget包管理器中搜索并安装NRedisStack包&#xff0c;如下图所示&#xff1a; 主要调用StackExchange.Redis命名空间下…

从及格走向优秀的纷享销客,成为了SaaS“全村的希望”

前不久&#xff0c;国漫《长安三万里》爆火&#xff0c;让很多观众看到破防 。尤其是影片结尾李白的那一句“轻舟已过万重山”&#xff0c;更是戳中无数成年人泪点。 与很多创业公司一样&#xff0c;在过去十几年&#xff0c;纷享销客始终在中国SaaS产业摸爬滚打。同质化之争、…