当前位置: 首页 > news >正文

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

相关文章:

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

1、确认硬件的连接、包括电源、地、RGB 数据线、DCLK\DE\HSYNC\VSYNC 等,显示模组有 DISP、RESET、CS、SCL、SDA 等。 2、确认各电压的正常,包括电源,部分有 IOVCC、VGL、VGH、VCOM 等电压 3、如果应用的 TFT-LCD 模组非演示例程中已适配调…...

java8 列表通过 stream流 根据对象属性去重的三种实现方法

java8 列表通过 stream流 根据对象属性去重的三种实现方法 一、简单去重 public class DistinctTest {/*** 没有重写 equals 方法*/SetterGetterToStringAllArgsConstructorNoArgsConstructorpublic static class User {private String name;private Integer age;}/*** lombo…...

鸿蒙开发DevEco Studio Setup 工具认识及使用

1、界面认识 1.1 创建页面之前理解Ability 1.2 理解stage模式 1.3 工程级别目录结构 1.4 模块级别目录...

程序员裁员潮:技术变革下的职业危机

程序员裁员潮:技术变革下的职业危机 一对来自中国的工程师夫妻在美身亡,疑因谷歌裁员致悲剧发生。在技术变革下,裁员对于程序员的影响到底有多大?快来和我们分享一下你的看法吧~ 哎,这是悲哀,让我又想起来…...

Cesium快速入门

文章目录 0.引言1.Cesium环境搭建1.1安装Node.js环境1.2配置Cesium依赖 2.搭建第一个Cesium程序2.1引入源码编译结果2.2创建html文件2.3编写第一个Cesium程序2.4申请许可密钥2.5发布Cesium程序服务 3.界面介绍4.默认控件介绍 0.引言 现有的gis开发方向较流行的是webgis开发&am…...

Android.mk和Android.bp的区别和转换详解

Android.mk和Android.bp的区别和转换详解 文章目录 Android.mk和Android.bp的区别和转换详解一、前言二、Android.mk和Android.bp的联系三、Android.mk和Android.bp的区别1、语法:2、灵活性:3、版本兼容性:4、向后兼容性:5、编译区…...

卡尔曼滤波器原理By_DR_CAN 学习笔记

DR_CAN卡尔曼滤波器 Kalman Filter Recursive Algorithm迭代过程 数学基础正态分布和6-SigmaData FusionCovariance MatrixState Space Representation离散化推导 linearizationTaylor Series2-DSummary Step by Step Derivation of Kalman Gain矩阵求导公式 Prior / Posterio…...

013 异常

文章目录 异常人为创造异常 异常 定义:运行时检测的错误 try:可能触发异常的语句 except 错误类型1 [as 变量1]:处理语句1 except 错误类型2:处理语句2 except Exception:不是以上错误类型的处理语句 else:未发生异常的语句 finally:无论是否发生异常的语句异常处理:保障程序…...

微服务Spring Cloud架构详解

"Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开…...

推荐一一款小众黑科技工具,低调使用建议收藏

wireshark是个啥就不多说了,非常流行的网络封包分析软件。 可以截取各种网络封包,显示网络封包的详细信息。 软件功能十分强大,操作也不复杂。 很多小友都在后台问能不能出一期完整的抓包分析贴,今天给你们安排上了哈。 01 W…...

HiP框架:多AI模型联手,助力机器人驾驭复杂规划大局

原创 | 文 BFT机器人 你的日常待办清单或许只是些稀松平常的小事:清洗堆积如山的碗盘、采购琳琅满目的食品杂货等。在执行这些任务时,你无需逐一写下“捧起那只满是油污的盘子”或“用湿润的海绵仔细擦洗这个盘子”这样的琐碎步骤,因为在你的…...

关于OC中变量相关知识点

众所周知,变量是用来存储数据的 围绕着变量,有很多知识点,总结归纳一下 变量的类型变量的作用区域局部变量全局变量静态变量变量的访问范围属性成员变量实例变量synthesizedynamic… 变量的类型 变量大致分为两大类型: 基本数据…...

机器学习分类模型评价指标总结(准确率、精确率、召回率、Fmax、TPR、FPR、ROC曲线、PR曲线,AUC,AUPR)

为了看懂论文,不得不先学一些预备知识((55555 主要概念 解释见图 TP、FP、TN、FN 准确率、精确率(查准率)、召回率(查全率) 真阳性率TPR、伪阳性率FPR F1-score2TP/(2*TPFPFN) 最大响应分…...

go语言(十一)----面向对象继承

一、面向对象继承 写一个父类 package mainimport "fmt"type Human struct {name stringsex string }func (this *Human) Eat() {fmt.Println("Human.Eat()...") }func (this *Human) Walk() {fmt.Println("Human.Walk()...") }func main() {h…...

一款自动化提权工具

免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。…...

【Qt】最详细教程,如何从零配置Qt Android安卓环境

这里写自定义目录标题 安装Qt Creator & Qt安装下载&安装JDK设置Android SDKAndroid模拟器下载创建android设备(模拟器) Gradle安装问题解决无法打开安卓模拟器Build失败方案一:不适用Qt自带SDK管理器(失败)方…...

spring与spring boot的区别

spring与spring boot的区别 项目配置&#xff1a; Spring&#xff1a; 在Spring中&#xff0c;项目的配置通常需要在XML文件中进行&#xff0c;包括配置数据源、事务管理、AOP等。这需要开发人员手动配置很多细节。 <!-- 在Spring中使用XML配置数据源 --> <bean id…...

http网络编程——在ue5中实现文件传输功能

http网络编程在ue5中实现 需求&#xff1a;在unreal中实现下载功能&#xff0c;输入相关url网址&#xff0c;本地文件夹存入相应文件。 一、代码示例 1.Build.cs需要新增Http模块&#xff0c;样例如下。 PublicDependencyModuleNames.AddRange(new string[] { "Core&q…...

JVM之java内存区域[2](堆、方法区、直接内存)

文章目录 版权声明一 堆1.1 java堆1.2 模拟堆区的溢出1.3 arthas中堆内存相关的功能1.4 设置大小 二 方法区2.1 方法区简介2.2 补充&#xff1a;字符串常量池和运行时常量池2.3 方法区的大小设计2.4 arthas中查看方法区2.5 模拟方法区的溢出2.7 StringTable的练习题 三 神奇的i…...

k8s-kubectl常用命令

一、基础命令 1.1 get 查询集群所有资源的详细信息&#xff0c;resource包括集群节点、运行的Pod、Deployment、Service等。 1.1.1 查询Pod kubectl get po -o wid 1.1.2 查询所有NameSpace kubectl get namespace 1.1.3 查询NameSpace下Pod kubectl get po --all-namespaces…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统

Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

echarts使用graphic强行给图增加一个边框(边框根据自己的图形大小设置)- 适用于无法使用dom的样式

pdf-lib https://blog.csdn.net/Shi_haoliu/article/details/148157624?spm1001.2014.3001.5501 为了完成在pdf中导出echarts图&#xff0c;如果边框加在dom上面&#xff0c;pdf-lib导出svg的时候并不会导出边框&#xff0c;所以只能在echarts图上面加边框 grid的边框是在图里…...

Java多线程实现之Runnable接口深度解析

Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...