1.FSMC连接TFT LCD原理
FSMC接口用于驱动外部存储器,也可用于驱动8080接口的TFT LCD。
FSMC连接的所有外部存储器共享地址、数据和控制信号,但有各自的片选信号,所以,FSMC一次只能访问一个外部部件。
FSMC外部存储器被划分为4个固定大小的存储区域Bank1\Bank2\Bank3\Bank4,每个区域大小为256MB。
1.存储区域Bank1,可分为4个子区域,每个子区域容量为64MB,故Bank1区域可连接4个NOR Flash 或 SRAM存储器件,由于有专门的片选信号,所以这些子区域都适合连接TFTLCD。
本示例选择Bank1区域 的 第4个子区域 连接TFTLCD,片选信号为NE4:
Bank1-NOR/PSRAM4, 片选信号NE4
2.Bank2和Bank3 用于访问NAND Flash 存储器,每个存储器连接一个设备。
3.Bank4 用于连接PC卡设备。
2.硬件电路图
TFTLCD即薄膜晶体管LCD,通常使用标准的8080并口,这种接口有16位数据线,4根控制线。
LCD 8080时序信号说明
信号 | 名称 | 控制状态 | 作用 | 连接引脚 |
---|---|---|---|---|
CS | 片选 | 低电平 | 选中器件,低电平有效,先选中,后操作 | FSMC_NE4 |
WR | 写 | ↑ | 写信号,上升沿有效,用于数据/命令写入 | FSMC_NWE |
RD | 读 | ↑ | 读信号,上升沿有效,用于数据/命令读取 | FSMC_NOE |
RS | 数据/命令 | 0=命/1=数 | 表示当前是读写数据还是命令,也叫DC信号 | FSMC_A6 |
D[15:0] | 数据线 | 无 | 双向数据线,可以写入/读取驱动IC数据 | FSMC_D0—D15 |
BL | 背光 | 高电平 | LCD背光 | |
RST | 复位 | 低电平复位 | 复位信号,与STM32共用RST复位端,即按键复位 |
-
FSMC使用Bank1的子区域4访问LCD
-
FSMC访问LCD 使用 模式A
配置方式如下:
3.配置CUBEMX
3.1 基础配置
参数配置表详解:
3.2 绑定所有设置完成的引脚方法:
为了在新建项目中配置其他引脚时,不改动FSMC的引脚设置,可以将本项目中已设置的FSMC引脚和信号绑定。方法如下:
全选,右击,绑定:
保存,生成代码。
4.IDE程序撰写
4.1导入公共驱动文件
链接:https://pan.baidu.com/s/1s8bQgdG82lsIZvRChsLZjQ?pwd=ky7v
提取码:ky7v
将公共驱动程序复制到该工程文件夹中,以供使用。
添加驱动文件的绝对路径:
继续添加:
过滤未加载的文件 lcd_ex.c:
1.进入属性设置栏:
2.选择需要过滤的文件:
3.点击ADD,加载需要过滤的文件:
修改注释乱码方法:
1.使用VSCODE打开PublicDrivers文件夹中的程序文件:
2.IDE中的所有乱码修改完成:
4.2 编写主程序,并调用LCD函数
1.调用LCD.h 头文件
2.main.c 主函数:
3.实现效果