Stm32cubemx配置stm32f103zet6的TFT_LCD

Stm32Cubemx配置TFT——LCD

一 LCD的硬件:

(1) 16个数据线 (2) CS ——片选 (2) WR/RD 写和读信号 (3) RST 复位信号 (4) RS —— 命令/ 数据标志 (0 —— 命令 1 —— 数据)

二 FSMC接口

  1. FSMC把外部设备分为3类(NOR/PSRAM设备, NAND设备, PCl卡设备) , 共用地址/数据总线,用CS 来区分不同的设备 (比如我们使用 NE4 来作为片选, 帮它作为SRAM来控制) 2。FSMC 支持8/16/32 位数据宽度, 这里我们使用 16位宽度
  2. 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 控制器

  1. 支持同步和异步突发2种访问方式
  2. 对于异步突发模式: 主要设置 3个参数 地址建立时间(ADDSET), 数据建立时间(DATASET)和地址保持时间(ADDHLD)
  3. FSMC 综合了SRAM/ROM, 定义了4种不同时序模型
  1. 这里我们使用 ModeA 时序, modeA支持读写独立时序

BANK1 的几个寄存器

1 控制寄存器

2 片选时序控制器

  1. DATASET(数据保持时间)—— 意义是DATAST个 HCLK 时钟模式, 最大 255, 对ILI9341 就是RD 低电平保持的时间 一般是355ns , 而HCLLK的时钟是72M, 我们这里设置15 (就是16 个 HCLK时钟)
  2. ADDRSET(地址保持时间)—— 最大 为15个HCLK, 相当于ED高电平持续的时间 为90ns, 我们这里设置为 1

3 SRAM/NOR 闪写寄存器

三: STM32CUBEMx 配置

四: 驱动文件加入

只需要修改 LCD的地址, 即可使用

五 :程序调用

  1. LCD 初始化(一定要使用串口, 如果串口初始化成功, 就一定会发它的ID 出来, 用它来判断LCD 是否被唤醒 )
  2. 打开背光
经验分享 程序员 微信小程序 职场和发展