Stm32Cubemx配置TFT——LCD
一 LCD的硬件:
(1) 16个数据线
(2) CS ——片选
(2) WR/RD 写和读信号
(3) RST 复位信号
(4) RS —— 命令/ 数据标志 (0 —— 命令 1 —— 数据)
二 FSMC接口
- FSMC把外部设备分为3类(NOR/PSRAM设备, NAND设备, PCl卡设备) , 共用地址/数据总线,用CS 来区分不同的设备 (比如我们使用 NE4 来作为片选, 帮它作为SRAM来控制)
2。FSMC 支持8/16/32 位数据宽度, 这里我们使用 16位宽度 - FSMC 的外部设备地址印象
FSMC总共管理1GB 空间, 分为4个存储块(Bank)
每个存储块 分为 4个区, 每个区64M
这里我们选块1 (PSRAM)
Bank 1被分为 4 个区 , bank1 256M 字节空间 由 28根地址线 HADDR[27: 0]寻址其中[25:0] 由外部存储器决定
而[26:27] 是对4个区进行寻址—— 决定片选信号
NOR FLASH 控制器
- 支持同步和异步突发2种访问方式
- 对于异步突发模式: 主要设置 3个参数 地址建立时间(ADDSET), 数据建立时间(DATASET)和地址保持时间(ADDHLD)
- FSMC 综合了SRAM/ROM, 定义了4种不同时序模型
- 这里我们使用 ModeA 时序, modeA支持读写独立时序
BANK1 的几个寄存器
1 控制寄存器
2 片选时序控制器
- DATASET(数据保持时间)—— 意义是DATAST个 HCLK 时钟模式, 最大 255, 对ILI9341 就是RD 低电平保持的时间 一般是355ns , 而HCLLK的时钟是72M, 我们这里设置15 (就是16 个 HCLK时钟)
- ADDRSET(地址保持时间)—— 最大 为15个HCLK, 相当于ED高电平持续的时间 为90ns, 我们这里设置为 1
3 SRAM/NOR 闪写寄存器
三: STM32CUBEMx 配置
四: 驱动文件加入
只需要修改 LCD的地址, 即可使用
五 :程序调用
- LCD 初始化(一定要使用串口, 如果串口初始化成功, 就一定会发它的ID 出来, 用它来判断LCD 是否被唤醒 )
- 打开背光