TFTLCD出现白屏、镜像显示、无法显示字符(参考正点原子stm32f103zet6控制TFTLCD显示代码修改成合泰32控制其显示)

您所在的位置:网站首页 液晶显示器突然花屏什么原因 TFTLCD出现白屏、镜像显示、无法显示字符(参考正点原子stm32f103zet6控制TFTLCD显示代码修改成合泰32控制其显示)

TFTLCD出现白屏、镜像显示、无法显示字符(参考正点原子stm32f103zet6控制TFTLCD显示代码修改成合泰32控制其显示)

2024-06-23 10:52:30| 来源: 网络整理| 查看: 265

一言难尽~

文章目录 一、TFTLCD显示白屏1.1修改读写寄存器1.2修改字体导出变量 二、TFTLCD出现镜像显示解决方法

一、TFTLCD显示白屏

可以先看看这篇博客,看能不能解决你的问题 在这里插入图片描述 显示屏已亮,那电源接线是肯定没有问题的,硬件连接部分除了复位那里可能存在问题其他大概率是没有问题的,主要是看LCD(TFTLCD以下简称LCD)的驱动程序有无问题,因为这个只是测试能否正常显示,所以主要要看驱动初始化程序。emmm这里要改好多地方,下图的几个函数都要仔细看过。

因为当时就想着怎么解决问题,没有想到要记录每一步错误的解决方法,所以现在只能把自己还记得的写下来了,可能不太清楚,望谅解~

在这里插入图片描述

1.1修改读写寄存器

1.1.1为什么要修改读写寄存器

(较啰嗦,不想看的同学可以直接到下面的修改实际操作)

stm32f103zet6(正点原子精英版)是带有 FSMC 接口的。FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和 16 位 PC 存储器卡连接,stm32 的 FSMC 接口支持包括 SRAM、NAND FLASH、NOR FLASH 和 PSRAM 等存储器。下面是FSMC 框图~ 在这里插入图片描述 从上图我们可以看出,stm32 的 FSMC 将外部设备分为 3 类:NOR/PSRAM 设备、NAND设备、PC 卡设备。他们共用地址数据总线等信号,他们具有不同的 CS 以区分不同的设备,比如我们用到的 TFTLCD 就是用的 FSMC_NE4 做片选,其实就是将 TFTLCD 当成 SRAM 来控制。外部 SRAM 的控制一般有:地址线(如 A0-A18)、数据线(如 D0-D15)、写信号(WE)、读信号(OE)、片选信号(CS),而在操作LCD时需要用到的就只有:RS、D0~D15、WR、RD 和 CS。其操作时序和 SRAM的控制完全类似,唯一不同就是 TFTLCD 有 RS 信号,但是没有地址信号。

stm32f103zet6有FSMC,且是用FSMC来控制LCD显示的,但我们仔细查找资料并观察了HT32实物(32位合泰单片机,以下简称HT32),发现它是没有FSMC接口的,所以我们必须要找其他方式来控制LCD,经过查找资料我们发现是可以通过EBI(外部总线接口)来控制LCD的(学过微机原理的朋友应该看过这里就恍然大悟了),他们的读写寄存器是不一样的,所以我们首先要修改的是读写寄存器。

我们是根据合泰官方提供的LCD的源码(他们的LCD是ESK32-A2A31 – 2.8 inches TFT-LCD Module,我们没有,所以就想用合泰控制正点原子LCD显示)对照着正点原子的来修改~ 如下:

1.1.2修改寄存器实际操作

根据LCD的id,只需要找0X9341的即可~ 在这里插入图片描述 算出来寄存器的序号(在)之后 对应得修改,其他函数有的话也要修改~

最终代码(两者函数名也不一样,有两个简单的读写寄存器初始化是我们加进去的) 在这里插入图片描述 下面是新加的函数(HT32中有读写合起来的程序,但没有分开的,正点原子两个都有,我们也不知道为什么要加,但加上有用。。所以就加了) 在这里插入图片描述 以上就是修改寄存器部分的操作了~

修改完后有显示了 在这里插入图片描述 但它是这样显示的。。。 没有字符,只有横线,靓女无语~

1.2修改字体导出变量

忘记怎么改了,可以注意看一下定义的各个变量和常量是应该用32位还是16的,我们后来将大部分都改成16位的了,还有这个字体导出变量

在这里插入图片描述 我们是用了以下这个 在这里插入图片描述 出现横线大部分可能就是这些问题了 在这里插入图片描述

就经过各种操作能显示之后变成了镜像显示。。。当时没有拍到照,下面就说一下我们修改的地方~

二、TFTLCD出现镜像显示解决方法 //在指定位置显示一个字符 //x,y:起始坐标 //num:要显示的字符:" "--->"~" //size:字体大小 12/16/24 //mode:叠加方式(1)还是非叠加方式(0)

在这里插入图片描述 有其他方向显示问题的话再调整一下就好啦~下面是最终字符显示的代码

void LCD_CharDisplay(u16 X_Location, u16 Y_Location, u16 Ascii) { u16 i = 0, j = 0; u16 X0= X_Location; u8 size =24; u8 csize=(size/8+((size%8)?1:0))*(size/2); //得到字体一个字符对应点阵集所占的字节数 u8 num =Ascii-' '; u8 temp; for(i=0;i if(temp&0x80) { LCD_WR_REG(REG42); LCD_WR_DATA(X_Location>>8);LCD_WR_DATA(X_Location&0XFF); LCD_WR_REG(REG43); LCD_WR_DATA(Y_Location>>8);LCD_WR_DATA(Y_Location&0XFF); EBI_LCD->EBI_LCD_REG=REG44; EBI_LCD->EBI_LCD_RAM=Color_Text; }else { LCD_WR_REG(REG42); LCD_WR_DATA(X_Location>>8);LCD_WR_DATA(X_Location&0XFF); LCD_WR_REG(REG43); LCD_WR_DATA(Y_Location>>8);LCD_WR_DATA(Y_Location&0XFF); EBI_LCD->EBI_LCD_REG=REG44; EBI_LCD->EBI_LCD_RAM=Color_Back; } temp


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭