ILI9481 TFT3.5寸屏STM32F446ZEXX FMC驱动方式详解

2024-01-01 22:44

本文主要是介绍ILI9481 TFT3.5寸屏STM32F446ZEXX FMC驱动方式详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
图片来源于网络,如若侵权请联系博主删除


文章目录

  • 1. 背景
  • 2. 基础知识
    • 2.1 TFT-LCD
    • 2.2 硬件接线
    • 2.3 FMC
    • 2.4 ILI9481
  • 3. 软件抽象


1. 背景

最近做项目需要,博主在某宝上买了一块3.5寸的TFT屏,店家虽然发了资料,但是往产品上移植驱动点亮屏幕的过程中踩了不少的坑,本篇主要记录该款屏幕在STM32F446ZET6上用FMC的方式驱动点亮的过程,希望对感兴趣的小伙伴有帮助,请大家多多点赞、转发、交流!


在此贴上这款屏幕的某宝链接:3.5寸IPS液晶屏IPS3.5寸全视角TFT显示屏8/16位SPI串口TFT40P彩屏,博主买的是裸屏。
在这里插入图片描述


2. 基础知识

2.1 TFT-LCD

液晶显示器,即 Liquid Crystal Display(LCD),利用了液晶导电后透光性可变的特性,配合显示器光源、彩色滤光片和电压控制等工艺,最终可以在液晶阵列上显示彩色的图像。目前液晶显示技术以 TN、STN、TFT 三种技术为主,TFT-LCD 即采用了 TFT(Thin Film Transistor)技术的液晶显示器,也叫薄膜晶体管液晶显示器。
TFT-LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同的是,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT 式显示器具有很多优点:高响应度,高亮
度,高对比度等等。TFT 式屏幕的显示效果非常出色,广泛应用于手机屏幕、笔记本电脑和台式机显示器上。
由于液晶本身不会发光,加上液晶本身的特性等原因,使得液晶屏的成像角受限,我们从屏幕的的一侧可能无法看清液晶的显示内容。液晶显示器的成像角的大小也是评估一个液晶显示器优劣的指标,目前,规格较好的液晶显示器成像角一般在 120°~160°之间。

博主用的这款液晶规格如下:
在这里插入图片描述
博主选择的接口方式是16BIT并口,注意这款屏幕的驱动IC是ILI9481,这也是本篇的主角。

屏幕的接口定义如下:
在这里插入图片描述
在这里插入图片描述


特别注意:IM0/1/2 端口选择,在硬件上一般是选用电阻上下拉来做选择,因为博主选择的接口方式是16BIT,所以这里IM0/1/2 端口的配置就是 0 1 0的方式,具体看下表:
在这里插入图片描述
当然淘宝店家也给出了参考设计:
在这里插入图片描述


2.2 硬件接线

博主要用STM32F446ZET6自带的FMC功能驱动控制屏幕,所以在硬件连线上当然就要根据FMC的接口定义来接。


2.3 FMC

TBD.


2.4 ILI9481

配置驱动:

void lcd_ex_ili9481_reginit(void)
{lcd_wr_regno(0x11);bsp_DelayMS(20);lcd_wr_regno(0xD0);lcd_wr_data(0x07);lcd_wr_data(0x42);lcd_wr_data(0x1B);lcd_wr_regno(0xD1);lcd_wr_data(0x00);lcd_wr_data(0x05);lcd_wr_data(0x0C);lcd_wr_regno(0xD2);lcd_wr_data(0x01);lcd_wr_data(0x11);lcd_wr_regno(0xC0);lcd_wr_data(0x00);lcd_wr_data(0x3B);lcd_wr_data(0x00);lcd_wr_data(0x02);lcd_wr_data(0x11);lcd_wr_regno(0xC5);lcd_wr_data(0x02);lcd_wr_regno(0xC8);lcd_wr_data(0x00);lcd_wr_data(0x22);lcd_wr_data(0x37);lcd_wr_data(0x20);lcd_wr_data(0x04);lcd_wr_data(0x00);lcd_wr_data(0x04);lcd_wr_data(0x55);lcd_wr_data(0x77);lcd_wr_data(0x02);lcd_wr_data(0x04);lcd_wr_data(0x00);lcd_wr_regno(0x36);lcd_wr_data(0x2f);//0alcd_wr_regno(0x3A);lcd_wr_data(0x55);//66bsp_DelayMS(120);lcd_wr_regno(0x29);
}

3. 软件抽象

TBD.

这篇关于ILI9481 TFT3.5寸屏STM32F446ZEXX FMC驱动方式详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/560703

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Java中StopWatch的使用示例详解

《Java中StopWatch的使用示例详解》stopWatch是org.springframework.util包下的一个工具类,使用它可直观的输出代码执行耗时,以及执行时间百分比,这篇文章主要介绍... 目录stopWatch 是org.springframework.util 包下的一个工具类,使用它

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.