Stm32cubemx配置stm32f103zet6的TFT_LCD
·
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 是否被唤醒 )
- 打开背光
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)