本文将就使用FSMC可能遇到的问题进行说明。希望能对大家的学习有所帮助。
一、端口配置
1、 由于FSMC写NOR时序与8080接口的时序十分相识,因此我们采用模拟8080时序,

2、 STM32的引脚图如图所示。

3、根据上图我们可以得出,FSMC的数据端口D[15:0]如下

4、我们使用的是 FSMC 的信号线 NE1 作为控制 8080 的 CSX 片选信号,所以我们把本成配置为 FSMC_Bank1_NORSRAM1 (NE1 片选BANK1)。由上图得FSMC-NE1 ==PD7 ---------LCD-CS

5、数据地址的选择
本成员用于设置 FSMC 接口的数据宽度,可被设置为 8Bit 或 16bit。对于16 位宽度的外部存储器。在 STM32 地址映射到 FSMC 接口的结构中,HADDR信号线是需要转换到外部存储器的内部 AHB 地址线,是字节地址。
若存储器的数据线宽为 8Bit,FSMC 的 26 条地址信号线 FSMC_A[25:0]直接可以引入到与 AHB 相连HADDR[25:0],26 条字节地址信号线最大寻址空间为 64MB。见图 0-9。

若存储器的数据线宽 16Bit,则存储器的地址信号线是半字地址(16Bit) 。为了使 HADDR 的字节地址信号线与存储器匹配,FSMC 的 25 条地址信号线FSMC_A[24:0]与 HADDR[25:1]相连,由于变成了半字地址(16Bit),仅需要 25条半字字地址信号线就达到最大寻址空间 64MB。正因地址线的不对称相连,16bit 数据线宽下,实际的访问地址为右移一位之后的地址。
如下,我的地址选择FSMC_A16, 只需在命令地址上左移(16+1)位。

6、FSMC寄存器的配置

7、如果我们需要改动端口,只需注意以下几个要点即可
(1)我们需要改动BANK1_SRAM[X],,如我改成BANK1_EN4,需改动



因为EN4的地址是0X6C000000,

(2)如需改动命令地址,FSMC_A[25:0],如我选择A16

只需将命令地址改为0x6c000000+(16+1)

-
存储器
+关注
关注
39文章
7755浏览量
172177 -
STM32
+关注
关注
2313文章
11191浏览量
374599
原文标题:STM32之FSMC的液晶使用
文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
变频器使用中遇到的问题
吉事励可调负载箱:灵活应对各种测试需求
STM32 Nucleo-144开发板技术解析与应用指南
环境因素对土压力计性能的影响及应对策略
EA直流电源并联状态下突加载均流测试解决方案
【汇思博SEEK100开发板试用体验】记录DevEco Studio 中遇到的问题
通过SEGGER JLINK调试CYUSB3014-BZXI遇到的问题求解
系统待机功耗过高如何破?聚徽分析嵌入式工业平板软件低功耗管理疑难应对
stm32cubumx使用1.28.0固件包无法初始化fsmc怎么解决?
stm32cubumx使用1.28.0固件包无法初始化fsmc怎么解决?
无风扇工控机使用过程中遇到问题不要慌!聚徽厂家分享——常见故障与解决方案全解析
STM32与CSNP32GCR01-BOW在按摩仪器中的协同应用解决方案
永磁转子中的永磁体在实际应用中会遇到什么问题?
STM32开发设计中FSMC可能遇到问题应对方案
评论