芯课堂 | SWM34S系列驱动TFT-LCD显示模组应用基本注意事项

1、确认硬件的连接、包括电源、地、RGB 数据线、DCLK\DE\HSYNC\VSYNC 等,显示模组有 DISP、RESET、CS、SCL、SDA 等。

2、确认各电压的正常,包括电源,部分有 IOVCC、VGL、VGH、VCOM 等电压

3、如果应用的 TFT-LCD 模组非演示例程中已适配调试的规格,先用BSP库例程,即“Lib\LCD\SimplLCD_RGB”进行驱动,此例程功能单一,适合应用驱屏调试应用。

采用演示例程已适配的显示模组,可以直接应用有UI交互操作的例程,接近于产品应用的开发。

4、部分 TFT-LCD 模组需要初始化通讯,如 TFT-LCD 模组规格书中 COG(chip on glass) 芯片 ST7701S、NT35510 等,必须要 向 TFT- - LCD供应商索取正确的初始化应用通讯程序,参考示例(这点非常重要!!!市面上的屏各式各样,即使相同的 COG芯片,由于模组不一致,初始化代码也不尽相同,MCU厂家无法提供对于 TFT-LCD 差异化的配套支持),COG 芯片规格书,以确保初始化通讯的成功。通常此通讯方式为 3 线通讯,部分 COG 芯片不一定符合 SPI 硬件模块的方式,且只在初始过程中应用,速度要求不高,建议采用普通 IO 端口方式进行应用(即软件模拟 SPI 通讯)。

5、在 SimplLCD_RGB 例程中,先设定分辨率参数 LCD_HDOT、LCD_VDOT,和 LCD_DIRH。TFTLCD 模组是横屏扫描应用,LCD_DIRH 定义为 0,反之则为 1。

6、调整 LCDC 模块的初始化接口 void RGBLCDInit(void) 的参数,包括 HFP、HBP、VFP、VBP、HsyncWidth、VsyncWidth。这些参数的设置值,一般参考 TFT-LCD 模组规格书中的有关驱动的 RGB 时序参数

LCD_initStruct.ClkDiv = 8;//4;

LCD_initStruct.Format = LCD_FMT_RGB565;

LCD_initStruct.HnPixel = LCD_HDOT;

LCD_initStruct.VnPixel = LCD_VDOT;

LCD_initStruct.Hfp = 4;//64;//10;

LCD_initStruct.Hbp = 5;//8;//20;

LCD_initStruct.Vfp = 25;//4;//4;

LCD_initStruct.Vbp = 10;//4;

LCD_initStruct.HsyncWidth = 5;

LCD_initStruct.VsyncWidth = 6;//2;

ClkDiv:像素时钟 DCLK 的频率设置,在系统时钟的基础上进行分频。比如系统时钟为 40MHz,ClkDiv 值为 2,那么 DCLK 的频率值为 20MHz。

Format:针对 RGB 接口屏,可以设置为 RGB565、RGB888 两种方式。SWM34SRET6-50/SWM34SCET6-50 型号,驱动端口不足够驱动RGB888 的 TFTLCD 模组。

注意: 针对小尺寸的 TFT-LCD 模组,采用 RGB565 相比 RGB888 驱动方式,总体显示不会有明显的不同。对颜色分阶很细腻的画面,比较细致对比欣赏时,会存在一定的差异。但 RGB565 接口可以节省端口需求,性价比有优势,所以小尺寸 TFT-LCD 模组采用 RGB565 方式是常用方式。 所以,建议采用 RGB565 的方式,这样可以节省驱动的端口需求。在UI 设计 中,尽量避免过于细腻的颜色过渡分阶即可(如光晕、渐变效果)。

HnPixel:LCD_HDOT 水平显示分辨率。通常 TFT-LCD 模组规格书对分辨率的描述,如 480(RGB)*272、800(RGB)*480、480(RGB)*800,针对 RGB 描述的点定义位水平方向的分辨率。最大取值为 1024。

VnPixel:LCD_VDOT 垂直显示分辨率。最大取值 1024。

Hfp:行同步前肩宽度。最大取值 64。

Hbp:行同步后肩宽度。最大取值 256。

Vfp:场同步前肩宽度。最大取值 64。

Vbp:场同步后肩宽度。最大取值 256。

HsyncWidth:行同步脉冲宽度。最大取值 256。

VsyncWidth:场同步脉冲宽度。最大取值 256。

HsyncInv:行同步脉冲输出的极性反相控制。通常行同步脉冲输出为负极性,某些 TFT-LCD 模组需要正极性方向,可以通过此位进行控制。

VsyncInv:场同步脉冲输出的极性反相控制。通常场同步脉冲输出为负极性,某些 TFT-LCD 模组需要正极性方向,可以通过此位进行控制。

调试过程中,参考 TFT-LCD 模组中的 RGB 时序表中值进行填写,通常会有显示,图像如不完全,可以通过微调HFP、HBP、VFP、VBP 参数进行完善。

如出现无图像显示:

6.1) 先通过调整 DCLK 的分频,先往最大或最小值进行,根据显示的现象,采用往中间值逐步逼近方法进行。如仍然无显示,则固定 TFT-LCD 模组规格书中提及的 DCLK 频率,调整第 6.2 步参数;

6.2) 调整 VFP、VBP 参数。先往最大或最小值进行,根据显示的现象,采用往中间值逐步逼近方法进行。多次调试,获得最佳值。如仍然无显示,则固定接近 RGB 时序表中的值,调整第 6.3 步参数;

6.3) 调整 HFP、HBP 参数。先往最大或最小值进行,根据显示的现象,采用往中间值逐步逼近方法进行。多次调试,获得最佳值。

如仍然无显示,此时可联系 FAE 进行支持协助。

7、通过描画边线查看是否正常满屏显示。显示点亮后,一帧纯色画面比较难判断确认是否显示全屏,可以在黑色背景下,通过描画四条边线方式进行,判断四条边线是否显示正常。

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

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

相关文章

动态血糖监测市场调研:预计2029年将达到13亿美元

血糖监测即是对于血糖值的定期检查。实施血糖监测可以更好的掌控糖尿病患者的血糖变化,对生活规律,活动,运动,饮食以及合理用药都具有重要的指导意义,并可以帮助患者随时发现问题,及时到医院就医。 动态血糖…

LinkedList源码

LinkedList源码 总结 LinkedList数据结构采用链表,内部封装了Node类,set方法先让Node的pre指针指向之前的last节点,然后判断头节点知否为空,如果为空则让first指针指向该节点,不过不为空则让尾节点的next指针指向该节…

Linux:动静态库的概念制作和底层工作原理

文章目录 动静态库基础认知动静态库基本概念静态库的制作库的概念包的概念 静态库的使用第三方库小结 动态库的制作动态库的使用动态库如何找到内容?小结 动态库加载库和程序都要加载可执行程序的地址问题地址问题逻辑地址和平坦模式绝对编址和相对编址与位置无关码…

vue2(Vuex)、vue3(Pinia)、react(Redux)状态管理

vue2状态管理Vuex Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它使用集中式存储管理应用的所有组件的状态,以及规则保证状态只能按照规定的方式进行修改。 State(状态):Vuex 使用单一状态树,即一个对象包含全部的应用层…

高防IP如何保护服务器

首先我们要知道什么是高防IP~ 高防IP是指高防机房所提供的ip段,主要是针对互联网服务器遭受大流量DDoS攻击时进行的保护服务。高防IP是目前最常用的一种防御DDoS攻击的手段,用户可以通过配置DDoS高防IP,将攻击流量引流到高防IP,防…

[pytorch入门] 3. torchvision中的transforms

torchvision中的transforms 是transforms.py工具箱,含有totensor、resize等工具 用于将特定格式的图片转换为想要的图片的结果,即用于图片变换 用法 在transforms中选择一个类创建对象,使用这个对象选择相应方法进行处理 能够选择的类 列…

网络安全全栈培训笔记(57-服务攻防-应用协议RsyncSSHRDPFTP漏洞批量扫描口令拆解)

第57天 服务攻防-应用协议&Rsync&SSH&RDP&FTP&漏洞批量扫描&口令拆解 知识点: 1、服务攻防-远程控制&文件传输等 2、远程控制-RDP&RDP&弱口令&漏洞 3、文件传输-FTP&Rsyc&弱口令&漏洞 章节内容: …

Python实现分段函数求导+绘制函数曲线

代码如下&#xff1a; import sympy as sp import numpy as np import matplotlib.pyplot as plt from sympy.utilities.lambdify import lambdify# 定义符号变量 x sp.symbols(x) # expr sp.Piecewise((0,0< x < 5), (1, x > 5)) # 定义分段原函数 #-------------…

manacher算法 求最长回文串

本题链接&#xff1a;用户登录 题目&#xff1a; 样例&#xff1a; 输入 aa1ABA1b 输出 5 思路&#xff1a; 根据题目意思&#xff0c;求出最长回文串&#xff0c;我们可以用模板 manacher 算法 求最长回文串。 manacher算法 求最长回文串 核心有两个步骤。 一、将字符串转化…

框架概述和MyBatis环境搭建

学习视频&#xff1a;1001 框架概述_哔哩哔哩_bilibili 目录 框架概述 1.1为什么要学 1.2框架的优点 1.3 当前主流框架 Spring框架 Spring MVC框架 MyBatis框架 ​编辑 Spring Boot框架 Spring Cloud框架 1.4 传统JDBC的劣势 MyBatis 2.1 MyBatis概述 ORM框架工作原…

分布式日志

1 日志管理 1.1 日志管理方案 服务器数量较少时 直接登录到目标服务器捞日志查看 → 通过 rsyslog 或shell/python 等脚本实现日志搜集并集中保存到统一的日志服务器 服务器数量较多时 ELK 大型的日志系统&#xff0c;实现日志收集、日志存储、日志检索和分析 容器环境 …

编程语言MoonBit新增矩阵函数的语法糖

MoonBit更新 1. 新增矩阵函数的语法糖 新增矩阵函数的语法糖&#xff0c;用于方便地定义局部函数和具有模式匹配的匿名函数&#xff1a; fn init {fn boolean_or { // 带有模式匹配的局部函数true, _ > true_, true > true_, _ > false}fn apply(f, x) {f(x)}le…

【分布式技术】注册中心zookeeper

目录 一、ZooKeeper是什么 二、ZooKeeper的工作机制 三、ZooKeeper特点 四、ZooKeeper数据结构 五、ZooKeeper应用场景 ●统一命名服务 ●统一配置管理 ●统一集群管理 ●服务器动态上下线 ●软负载均衡 六、ZooKeeper的选举机制 七、实操部署ZooKeeper集群 步骤一…

compose部署tomcat

1.部署tomcat 1.1.下载相关镜像tomcat8.5.20 $ docker pull tomcat:8.5.20 1.2 在/data目录下创建tomcat/webapps目录 mkdir -p /data/tomcat/webapps 注意&#xff1a;这里是准备将宿主机的/data/tomcat/webapps映射到容器的 /usr/…

HarmonyOS鸿蒙学习笔记(22)@Builder实战

Builder标签是一种更轻量的UI元素复用机制&#xff0c;下面通过一个简单的例子来具体说明&#xff1a; 比如如下布局效果&#xff1a;上面是一个轮播的Swiper,下面是一个Grid 布局代码如下&#xff1a; build() {Navigation() {Scroll() {Column({ space: CommonConstants.CO…

测试老司机聊聊测试设计都包含什么?

一、数据组合测试设计 数据组合测试设计&#xff08;Combinatorial Test Design&#xff0c;CTD&#xff09;是一种优化测试用例的方法&#xff0c;它通过系统地组合不同的测试数据输入&#xff0c;以确保全面覆盖各种可能的测试情况。这种方法主要应用于软件测试领域&#xff…

性能优化-HVX 开发环境介绍

「发表于知乎专栏《移动端算法优化》」 本篇以 HVX 的开发环境配置以及应用实例编译测试为主进行讲述。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&#xff09;开发基础教程 &#x1f3…

scanf解决遇到空格停止问题

scanf解决遇到空格停止问题 gets修改scanf的停止符 我们经常输入字符串的时候&#xff0c;遇到空格&#xff0c;scanf就会停止&#xff1a; 比如这时候我想输入一个句子&#xff1a;“My Love”&#xff1a; char* s (char*)malloc(sizeof(char)*100);scanf("%s", s…

摄像头电机马达驱动芯片LV8548/LV8549/ONSEMI替代料GC8548

摄像头电机马达驱动芯片GC8548&#xff0c;兼容替代 ON的LV8548 无需更改外围 . 下图为其参数分析&#xff1a; GC8548 是一款双通道 12V 直流电机驱动芯片&#xff0c;为摄像机、消费类产品、玩具和其他低压或者电池供电的运动控制类应用提供了集成的电机驱动解决方案。芯片…

hpa自动伸缩

1、定义&#xff1a;hpa全称horizontal pod autoscaling&#xff08;pod的水平自动伸缩&#xff09;&#xff0c;这是k8s自带的模块。pod占用CPU的比率到达一定阀值会触发伸缩机制&#xff08;根据CPU使用率自动伸缩&#xff09; replication controller副本控制器&#xff0c…