4 TFT-LCD显示屏基础概述_第1页
4 TFT-LCD显示屏基础概述_第2页
4 TFT-LCD显示屏基础概述_第3页
4 TFT-LCD显示屏基础概述_第4页
4 TFT-LCD显示屏基础概述_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务4.3具备交互功能的人机界面应用开发案例引导TFT-LCD显示屏案例引导当操作者按下按键、转动旋钮时,设备的操作结果需要展示给操作者;设备收到其他终端传输的信息、获得传感器信息时也需要展示给设备使用者。在嵌入式产品中,通常采用数码管、OLED屏、LCD屏作为显示输出。常见显示器如图4-23所示。图4-23常见显示器本任务以“屏”为例,简要介绍显示屏的类别、显示芯片、借助STM32微控制器驱动TFT-LCD显示屏,实现数字、字符、图形、图片的显示任务。任务描述任务目标(1)能根据MCU编程手册、TFT-LCD手册,利用STM32CubeMX准确配置STM32的FSMC功能。(2)能根据任务要求,快速查阅硬件连接资料,搭建设备环境。(3)理解TFT-LCD控制显示、控制时序等内容。(4)能根据任务要求编制代码,进行数字、字符、图形的显示。任务2TFT-LCD显示屏32(1)配置STM32F407微控制器的FSMC接口。(2)移植液晶驱动程序。(3)实现显示功能。任务内容1TFT-LCD显示屏知识链接显示屏简介一般而言,能够显示信息的器件就称为显示器。常见的显示器(显示屏)及其各自特点如表4-23所示。TFT-LCD显示屏显示器举例优点缺点段码屏数码管、计算器、遥控器成本低,驱动简单,稳定色彩单一,显示内容少点阵屏户外广告屏任意尺寸,亮度高贵,耗电,体积大LCD屏显示器、电视屏、手机屏成本低,色彩好,薄,寿命长全彩稍差,漏光,拖影OLED屏显示器、电视屏、手机屏自发光,色彩最好,超薄,功耗低比较贵,寿命短对于全彩显示,LCD具有更多的优势,适合在单片机上使用。LCD(LiquidCrystalDisplay)即液晶显示器,由玻璃基板、背光、驱动IC等组成。全彩LCD,是一种全彩显示屏(RGB565、RGB888),可以显示各种颜色。其特点为成本低、高解析度、高对比度、响应速度快。知识链接2)LCD的接口分类TFT-LCD显示屏知识链接接口分辨率特性MCU≤800*480带SRAM,无需频繁刷新,无需大内存,驱动简单RGB≤1280*800不带SRAM,需要实时刷新,需要大内存,驱动稍微复杂MIPI4K不带SRAM,支持分辨率高,省电,大部分手机屏用此接口RGB接口通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及三者组合来得到丰富多彩的颜色,R、G、B分别代表红、绿、蓝三个通道的颜色,它们三者之间的组合几乎包括了人类视觉感知的所有颜色,是最常用的颜色体系之一。所以LCD液晶屏的RGB接口就是分三原色输入的视频接口。LCD液晶屏的MCU接口主要针对单片机领域,在尺寸较小的手机上大量使用,主要优势是价格便宜。MCU接口的标准是Intel提出的8080总线标准,因此在很多文档中用I80来指MCU接口屏。LCD液晶屏的MIPI接口(MobileIndustryProcessorInterface,移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。MIPI是一个比较新的标准,其规范也在不断修改和改进,目前比较成熟的接口应用有DSI(显示接口)和CSI(摄像头接口)。CSI/DSI分别指其承载的是针对Camera或Display应用,都有复杂的协议结构。知识链接3)三基色原理TFT-LCD显示屏知识链接无法通过其他颜色混合得到的颜色,称之为:基本色通过三基色混合,可以得到自然界中绝大部分颜色!三基色:红、绿、蓝电脑一般用32位来表示一个颜色(ARGB888):单片机一般用16/24位表示一个颜色(RGB565/RGB888):RGB565:RGB888:知识链接3)LCD驱动原理TFT-LCD显示屏知识链接LCD屏(MCU接口)驱动的核心是:驱动LCD驱动芯片LCD驱动基本知识:1,8080时序,LCD驱动芯片一般使用8080时序控制,实现数据写入/读取2,初始化序列(数组),屏厂提供,用于初始化特定屏幕,不同屏幕厂家不完全相同!3,画点函数、读点函数(非必需),基于这两个函数可以实现各种绘图功能!LCD驱动的一般过程8080底层操作函数写数据、写命令、读数据初始化LCD主要是发送初始化序列/数组实现画点函数有了画点函数,就可以实现各种操作函数了!实现读点函数用于读取屏幕颜色,一般上GUI了才用,可不用!知识链接5)8080时序TFT-LCD显示屏知识链接8080时序是并口总线时序,常用于LCD屏(MCU接口)驱动芯片的访问,由Intel提出,也称为英特尔总线。LCD8080时序信号说明如表4-25所示。信号名称控制状态作用CS片选低电平选中器件,低电平有效,先选中,后操作WR写↑写信号,上升沿有效,用于数据/命令写入RD读↑读信号,上升沿有效,用于数据/命令读取RS数据/命令0=命/1=数表示当前是读写数据还是命令,也叫DC信号D[15:0]数据线无双向数据线,可以写入/读取驱动IC数据LCD8080时序信号说明知识链接TFT-LCD显示屏知识链接(1)8080写时序数据(RS=1)/命令(RS=0)在WR的上升沿,写入LCD驱动IC,RD保持高电平8080写时序如图4-36所示。图4-368080写时序知识链接TFT-LCD显示屏知识链接(2)8080读时序数据(RS=1)/命令(RS=0)在RD的上升沿,读取到MCU,WR保持高电平。图4-378080读时序8080写时序如图4-37所示。知识链接TFT-LCD显示屏知识链接(3)8080时序读写简化代码8080时序的LCD屏写数据到屏的简化代码如下。如要写命令,只需修改LCD_RS(1);这一句,将其改为LCD_RS(0);就是给屏写命令字。voidlcd_wr_data(uint16_tdata){ LCD_RS(1); /*操作数据*/ LCD_CS(0); /*选中*/ LCD_DATA_OUT(data);

/*数据*/ LCD_WR(0); /*WR低电平*/ LCD_WR(1); /*WR高电平*/ LCD_CS(1); /*释放片选*/}知识链接TFT-LCD显示屏知识链接从显示屏读数据的简化代码如下:(3)8080时序读写简化代码uint16_tlcd_rd_data(void){ uint16_tram;/*定义变量*/ LCD_RS(1);/*操作数据*/LCD_CS(0); /*选中*/LCD_RD(0); /*RD低电平*/ram=LCD_DATA_IN;/*读取数据*/LCD_RD(1); /*RD高电平*/LCD_CS(1); /*释放片选*/ returnram;

/*返回读数*/}

知识链接TFT-LCD显示屏知识链接6) LCD驱动芯片简介用于控制LCD的各种显示功能和效果,整体功能较复杂。常见型号:ILI9341/ST7789等参考资料:ILI9341.pdf、ST7789.pdf一般我们只需要:6条指令即可完成对LCD的基本使用(以9341为例)指令(HEX)名称作用0XD3读ID用于读取LCD控制器的ID,区分型号用0X36访问控制设置GRAM读写方向,控制显示方向0X2A列地址一般用于设置X坐标0X2B页地址一般用于设置Y坐标0X2C写GRAM用于往LCD写GRAM数据0X2E读GRAM用于读取LCD的GRAM数据知识链接TFT-LCD显示屏知识链接读ID指令(0XD3)顺序控制各位描述HEXRSRDWRD15~D8D7D6D5D4D3D2D1D0指令01↑XX11010011D3H参数11↑1XXXXXXXXXXX参数21↑1XX0000000000H参数31↑1XX1001001193H参数41↑1XX0100000141H读取LCD控制器型号,通过型号可以执行不同LCD初始化,以兼容不同LCD知识链接TFT-LCD显示屏知识链接访问控制指令(0X36)顺序控制各位描述HEXRSRDWRD15~D8D7D6D5D4D3D2D1D0指令01↑XX0011011036H参数111↑XXMYMXMVMLBGRMH00XXH实现GRAM读写方向控制,即:控制GRAM自增方向,从而控制显示方向MX,MY,MV:共同控制GRAM自增方向(扫描方向)BGR位:可以控制RGB、BGR顺序知识链接TFT-LCD显示屏知识链接访问控制指令(0X36)MX、MY、MV扫描方向控制关系控制位效果

LCD扫描方向(GRAM自增方式)MYMXMV000从左到右,从上到下100从左到右,从下到上010从右到左,从上到下110从右到左,从下到上001从上到下,从左到右011从上到下,从右到左101从下到上,从左到右111从下到上,从右到左从左到右,从上到下知识链接TFT-LCD显示屏知识链接X坐标设置指令(0X2A)列地址设置指令,一般用于设置X坐标顺序控制各位描述HEXRSRDWRD15~D8D7D6D5D4D3D2D1D0指令01↑XX001010102AH参数111↑XXSC15SC14SC13SC12SC11SC10SC9SC8SC参数211↑XXSC7SC6SC5SC4SC3SC2SC1SC0参数311↑XXEC15EC14EC13EC12EC11EC10EC9EC8EC参数411↑XXEC7EC6EC5EC4EC3EC2EC1EC0SC:起始坐标EC:结束坐标设置关系:0≤SC≤EC≤239(LCD像素宽度)Y坐标设置指令(0X2B)页地址设置指令,一般用于设置Y坐标顺序控制各位描述HEXRSRDWRD15~D8D7D6D5D4D3D2D1D0指令01↑XX001010112BH参数111↑XXSP15SP14SP13SP12SP11SP10SP9SP8SP参数211↑XXSP7SP6SP5SP4SP3SP2SP1SP0参数311↑XXEP15EP14EP13EP12EP11EP10EP9EP8EP参数411↑XXEP7EP6EP5EP4EP3EP2EP1EP0SP:起始坐标EP:结束坐标设置关系:0≤SP≤EP≤319(LCD像素高度)知识链接TFT-LCD显示屏知识链接知识链接TFT-LCD显示屏知识链接写GRAM指令(0X2C)发送该指令后,数据线变成16位,可以开始写入GRAM数据,支持地址自增顺序控制各位描述HEXRSRDWRD15~D8D7D6D5D4D3D2D1D0指令01↑XX001011002CH参数111↑D1[15:0]XX……11↑D2[15:0]XX参数N11↑Dn[15:0]XX每次写入1个像素点的颜色值(RGB565),地址自增方向由MX/MY/MV控制无需重新设置坐标,可实现连续写入,大大提高写入速度知识链接TFT-LCD显示屏知识链接读GRAM指令(0X2E)发送该指令后,数据线变成16位,可以开始读取GRAM数据,支持地址自增顺序控制各位描述HEXRSRDWRD15~D11D10~D8D7D6D5D4D3D2D1D0指令01↑XX001011102EH参数11↑1XXdummy参数21↑1R1[4:0]XXG1[5:0]XXR1G1参数31↑1B1[4:0]XXR2[4:0]XXB1R2参数41↑1G2[5:0]XXB2[4:0]XXG2B2参数51↑1R3[4:0]XXG3[5:0]XXR3G3参数N1↑1按以上规律输出读1个点的颜色,要读3次1,dummy2,R1G13,B1R2uint16_tr,

g,

b;r=lcd_rd_data();g=lcd_rd_data();b=lcd_rd_data();g=r&0XFF;return

(((r>>11)<<11)|((g>>2)<<5)|(b>>11));7)画点及读点函数实现知识链接TFT-LCD显示屏知识链接(1)读点函数lcd_read_point()代码如下。uint16_tlcd_read_point(uint16_tx,uint16_ty){ uint16_tr=0,g=0,b=0; /*定义变量*/ lcd_set_cursor(x,y); /*设置坐标*/ lcd_wr_regno(0x2E); /*发读点命令*/ r=lcd_rd_data(); /*假读*/ r=lcd_rd_data(); /*读rg*/ b=lcd_rd_data(); /*读b*/ g=r&0XFF; /*得到g值*/ return(((r>>11)<<11)|((g>>2)<<5)|(b>>11));}知识链接知识链接(2)画点函数lcd_draw_point()代码如下。7)画点及读点函数实现voidlcd_wr_data(uint16_tdata){LCD_RS(1);/*操作数据*/LCD_CS(0);/*选中*/LCD_DATA_OUT(data);/*数据*/LCD_WR(0);/*WR低电平*/LCD_WR(1);/*WR高电平*/LCD_CS(1);/*释放片选*/}voidlcd_draw_point(uint16_tx,uint16_ty,uint16_tcolor){lcd_set_cursor(x,y);

/*设置坐标*/lcd_wr_regno(0x2C);/*发写点命令*/lcd_wr_data(color);/*写该点的颜色数据*/}TFT-LCD显示屏知识链接8)LCD基本驱动步骤TFT-LCD显示屏知识链接知识链接1,确定IO连接关系2,初始化IO口3,编写读写接口函数LCD模块原理图、开发板液晶接口原理图初始化连接LCD的各个IO口lcd_wr_data、lcd_wr_regno、lcd_write_reg、lcd_rd_data4,编写LCD初始化函数编写lcd_init函数,完成初始化序列配置,点亮背光等5,编写LCD画和读点函数编写lcd_draw_point函数,实现LCD任意位置画点初始化FSMC外设可选,某些芯片是没有FSMC外设,(STM32F103C8T6)板是没有的知识链接以STM32F103C8T6MCU控制2.8英寸TFT-LCD屏(驱动芯片为ILI9341)实现以下功能。TFT-LCD显示屏知识链接知识链接使用8080时序在LCD上实现任意位置画点和读点。在LCD屏幕上能支持12×12、16×16、24×24、32×32大小的ASCII字符显示LCD屏与STM32F103C8T6微控制器的接口如表4-28所示。LCD信号MCU引脚作用LCD_RSTRESETLCD复位引脚,连接MCU复位脚,一起复位LCD_BLPC10LCD背光引脚,控制LCD背光亮灭,高电平亮LCD_CSPC9LCD片选,选中LCD,低电平有效LCD_WRPC7LCD写信号,上升沿有效,用于数据/命令写入LCD_RDPC6LCD读信号,上升沿有效,用于数据/命令读取LCD_RSPC8LCD数据/命令线,表示当前是读写数据还是命令LCD_D0~D15PB0~PB15LCD数据线,16位,一次可以写入一个像素知识链接2.STM32的FSMC接口TFT-LCD显示屏知识链接知识链接FMC简介FMC,FlexibleMemoryController,灵活的存储控制器。FMC外设配置好就可以模拟出时序FMC模拟8080时序控制LCD配置好FMC,存储器当成普通外设使用。定义一个指向这些地址的指针,通过对指针操作就可以直接修改存储单元的内容,FMC自动完成读写命令和数据访问操作,不需要程序去实现时序。/’fleksəbl/知识链接FMC框图介绍TFT-LCD显示屏知识链接知识链接①时钟控制逻辑FMC挂载在AHB总线上时钟信号来自HCLK②STM32内部的FMC控制单元FMC配置寄存器NOR和PSRAM控制器NAND和PC卡控制器SDRAM控制器③通信引脚不同类型存储器用到的信号引脚公共信号引脚①②③知识链接FMC通信引脚介绍TFT-LCD显示屏知识链接知识链接

用于连接硬件设备的引脚,控制不同类型的存储器会用不同的引脚。FMC信号信号方向功能FMC_NL/NADV输出地址、数据线复用时作锁存信号(PSRAM)FMC_CLK输出时钟(同步突发模式使用)FMC_NBL[3:0]输出数据掩码信号,控制字节使能FMC_A[25:0]输出地址总线FMC_D[31:0]输出/输入双向数据总线FMC_NE[4:1]输出片选引脚,x=1…4,每个对应不同的内存块FMC_NOE输出输出使能(“N”表明低电平有效信号)FMC_NWE输出写使能FMC_NWAIT输入NOR闪存要求FMC等待的信号LCD使用的是类似异步、地址与数据线独立的SRAM控制方式双方引脚怎么能对应上?知识链接TFT-LCD显示屏知识链接知识链接使用FMC驱动LCDFMCCPU地址、数据、片选SRAMCPU屏幕8080总线HADDR总线屏幕CSRSWRRDDATACSRSWRRDDATAFMC_D[x]FMC_NOEFMC_NWEFMC_NE[4:1]FMC_A[x]知识链接TFT-LCD显示屏知识链接知识链接FMC时序介绍 FMC是Flexible灵活的,可以产生多种时序来控制外部存储器。 NOR/PSRAM控制器产生的异步时序就有5种,总体分为两类:一类是模式1,其他为拓展模式。

拓展模式相对模式1来说读写时序时间参数设置可以不同,满足存储器读写时序不一样需求。访问模式对应的外部存储器时序特性时间参数模式1SRAM/CRAMOE在读时序片选过程不翻转DATAST

/

ADDSET模式ASRAM/PSRAM(CRAM)OE在读时序片选过程翻转DATAST

/

ADDSET模式B/2NOR

FLASHOE在读时序片选过程不翻转DATAST

/ADDSET模式CNOR

FLASHOE在读时序片选过程翻转DATAST

/

ADDSET模式D带地址扩展的异步操作OE在读时序片选过程翻转DATAST/ADDSET、ADDHLK知识链接TFT-LCD显示屏知识链接知识链接FSMC时序与8080时序对比写时序读时序写数据读数据模式A时序知识链接TFT-LCD显示屏知识链接知识链接重点时序参考资料:ILI9341.pdfP232

读ID低电平脉宽(trdl)

读ID高电平脉宽(trdh)

读FM低电平脉宽(trdlfm)

读FM高电平脉宽(trdhfm)

写控制低电平脉宽(twrl)

写控制高电平脉宽(twrh)ID:指LCD的ID号FM指帧缓存即GRAMRD/WR低电平持续时间即DATASTRD/WR高电平持续时间即ADDSET一个HCLK时钟周期:1/(系统主频Mhz)注意:读和写时序存在不同,写时序中为DATAST+1图4-41FSMC模式A读写时序图FMC地址映射知识链接TFT-LCD显示屏知识链接知识链接使用FMC外接存储器,其存储单元是映射到STM32的内部寻址空间的。从FMC角度看,把外部存储器划分为固定大小为256M字节的6个存储块(1.5GB)。BANK1选区片选信号地址范围HADDR[27:26][25:0]第1区FMC_NE10x60000000~0x63FFFFFF00FMC_A[25:0]第2区FMC_NE20x64000000~0x67FFFFFF01第3区FMC_NE30x68000000~0x6BFFFFFF10第4区FMC_NE40x6C000000~0x6FFFFFFF11HADDR与FMC_A关系知识链接TFT-LCD显示屏知识链接知识链接HADDR总线是转换到外部存储器的内部AHB地址线简单来说,从CPU通过AHB总线到外部信号线之间的关系。HADDR是字节地址,而存储器访问不都是按字节访问,接到存储器的地址线与其数据宽度相关。LCD使用16位数据线注意:数据宽度为16位时,地址存在偏移知识链接TFT-LCD显示屏知识链接知识链接LCD的RS信号线与地址线关系当FMC_A6为高电平时(即RS为高电平),FMC_D[15:0]被理解为数据。当FMC_A6为低电平时(即RS为低电平),FMC_D[15:0]被理解为命令。FMC_A6接到RS线上究竟发送什么地址代替?1、确认FMC_NE1基地址2、确认FMC_A6对应地址值3、确认两个地址26x2=0x800x60000000NEx(x=1…4),当NEx=4:0x60000000+(0x4000000*(4-1))=0x6C00,0000FMC_Ay(y=0…24):2y

x2代表LCD命令的地址:0x6C000000代表LCD数据的地址:0x6C000080#defineFMC_ADDR_CMD ((uint32_t)0x6C000000)#defineFMC_ADDR_DATA ((uint32_t)0x6C000080)知识链接TFT-LCD显示屏知识链接知识链接FMC相关寄存器介绍

对于NOR_FLASH/PSRAM控制器(存储块1)配置工作,通过FMC_BCRx、FMC_BTRx和FMC_BWTRx寄存器设置(其中x=1~4,对应4个区)。寄存器名称作用FMC_BCR1片选控制寄存器包含存储器块的信息(存储器类型/数据宽度等)FMC_BTR1片选时序寄存器设置读操作时序参数(ADDSET/DATAST)FMC_BWTR1写时序寄存器设置写操作时序参数(ADDSET/DATAST)LCD的读写时序存在比较大差异,所以FMC的读写时序也得分开配置知识链接TFT-LCD显示屏知识链接知识链接SRAM/NOR闪存片选控制寄存器(FMC_BCRx)EXTMOD:扩展模式使能位,控制是否允许读写不同的时序。WREN:写使能位。MWID[1:0]:存储器数据总线宽度。00,表示8位数据模式;01表示16位数据模式;10和11保留。MTYP[1:0]:存储器类型。00表示SRAM、ROM;01表示PSRAM;10表示NORFLASH;11保留。MBKEN:存储块使能位。知识链接TFT-LCD显示屏知识链接知识链接SRAM/NOR闪存片选时序寄存器(FMC_BTRx)ACCMOD[1:0]:访问模式。00:模式A;01:模式B;10:模式C;11:模式D。DATAST[7:0]:数据保持时间,等于DATAST个HCLK时钟周期,DATAST最大为255。对于ILI9341来说,其实就是RD低电平持续时间,最小为5ns。对于F1系列MCU,一个HCLK=13.9ns,设置为3。对于F4系列MCU,一个HCLK=6ns,设置为9。对于ILI9341来说,相当于WR高电平持续时间,为15ns。F1系列MCU即使设置为1,WR也有超过15ns的高电平,这里设置为1。F4系列MCU对该位设置为8。ADDSET[3:0]:地址建立时间。表示ADDSET个HCLK时钟周期,ADDSET最大为15。知识链接TFT-LCD显示屏知识链接知识链接FMC寄存器组合说明

在ST官方提供的寄存器定义里面,并没有定义FMC_BCRx、FMC_BTRx、FMC_BWTRx等这个单独的寄存器,而是将他们进行了一些组合,规则如下: FMC_BCRx和FMC_BTRx,组合成BTCR[8]寄存器组,他们的对应关系如下: BTCR[0]对应FMC_BCR1,BTCR[1]对应FMC_BTR1 BTCR[2]对应FMC_BCR2,BTCR[3]对应FMC_BTR2 BTCR[4]对应FMC_BCR3,BTCR[5]对应FMC_BTR3 BTCR[6]对应FMC_BCR4,BTCR[7]对应FMC_BTR4 FMC_BWTRx则组合成BWTR[7]寄存器组,他们的对应关系如下: BWTR[0]对应FMC_BWTR1,BWTR[2]对应FMC_BWTR2, BWTR[4]对应FMC_BWTR3,BWTR[6]对应FMC_BWTR4, BWTR[1]、BWTR[3]和BWTR[5]保留,没有用到知识链接TFT-LCD显示屏知识链接知识链接FMC相关HAL库函数简介初始化FSMC,主要是初始化三个寄存器FSMC_BCRx、FSMC_BTRx和FSMC_BWTRx,在HAL库中提供了FSMC初始化函数如下:HAL_StatusTypeDefHAL_SRAM_Init(SRAM_HandleTypeDef*hsram,FSMC_NORSRAM_TimingTypeDef*Timing,FSMC_NORSRAM_TimingTypeDef*ExtTiming)这个函数有三个入口参数,第一个入口参数hsram,它是SRAM_HandleTypeDef结构体类型指针变量。该参数用来初始化当FSMC接口作为SRAM使用时的控制接口参数。结构体SRAM_HandleTypeDef定义如下:SRAM_HandleTypeDef?FSMC_NORSRAM_TimingTypeDef?FSMC_NORSRAM_TimingTypeDeftypedefstruct{FSMC_NORSRAM_TypeDef*Instance;/*寄存器基地址*/FSMC_NORSRAM_EXTENDED_TypeDef*Extended;/*扩展模式寄存器基地址*/FSMC_NORSRAM_InitTypeDefInit;/*SRAM初始化结构体*/HAL_LockTypeDefLock;/*SRAM锁对象结构体*/__IOHAL_SRAM_StateTypeDefState;/*SRAM设备访问状态*/DMA_HandleTypeDef*hdma;/*DMA结构体*/}SRAM_HandleTypeDef;知识链接TFT-LCD显示屏知识链接知识链接SRAM_HandleTypeDef成员变量Instance和成员变量Extended用来设置在指定的时序模式下寄存器基地址值和扩展模式寄存器基地址值。本任务我们使用异步模式A(ModeA)方式来控制TFT-LCD,使用的存储块是Bank1,所以寄存器基地址Instance我们直接写FSMC_Bank1即可,也可以写为FSMC_NORSRAM_DEVICE(HAL库定义好了宏定义)。Extended赋值为FSMC_NORSRAM_EXTENDED_DEVICE(扩展模式的寄存器基地址)。typedef

struct

{

uint32_tNSBank;

/*存储区块号*/

uint32_tDataAddressMux; /*地址/数据复用使能*/

uint32_tMemoryType;

/*存储器类型*/

uint32_tMemoryDataWidth;

/*存储器数据宽度*/ uint32_tBurstAccessMode; /*设置是否支持突发访问模式,只支持同步类型的存储器*/

uint32_tWaitSignalPolarity; /*设置等待信号的极性*/ uint32_tWaitSignalActive;

/*等待信号在等待状态之前或等待状态期间有效*/

uint32_tWriteOperation;

/*存储器写使能*/

uint32_tWaitSignal;

/*是否使能等待状态插入*/

uint32_tExtendedMode;

/*是否使能扩展模式*/

uint32_tWriteBurst;

/*是否使能写突发操作*/

uint32_tAsynchronousWait;

/*是否使能等待信号*/

uint32_tContinuousClock;

/*是否使能FMC时钟输出到外部存储设备*/

uint32_tWriteFifo;

/*是否使能FIFO*/

uint32_tPageSize; /*设置页大小*/

}FSMC_NORSRAM_InitTypeDef;知识链接TFT-LCD显示屏知识链接知识链接FSMC_NORSRAM_InitTypeDefFSMC_NORSRAM_BANK4FSMC_DATA_ADDRESS_MUX_DISABLEFMC_MEMORY_TYPE_SRAMFSMC_NORSRAM_MEM_BUS_WIDTH_16FSMC_WRITE_OPERATION_ENABLEFSMC_EXTENDED_MODE_ENABLE知识链接TFT-LCD显示屏知识链接知识链接FSMC_NORSRAM_TimingTypeDeftypedef

struct

{

uint32_tAddressSetupTime;

/*地址建立时间*/

uint32_tAddressHoldTime; /*地址保持时间*/

uint32_tDataSetupTime;

/*数据建立时间*/

uint32_tBusTurnAroundDuration;

/*总线周转阶段的持续时间*/ uint32_tCLKDivision; /*CLK时钟输出信号的周期*/ ui

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论