FMC功能与FSMC类似,但比FSMC更强大,但仅在F4 / F7 / H7等高级一点的MCU上支持,F1不支持。虽然我的是F103,但顺便都看了。
大部分图片来源:正点原子HAL库课程
专栏目录:记录自己的嵌入式学习之路-CSDN博客
目录
[1 用途](#1 用途)
[2 其他相关知识](#2 其他相关知识)
[3 相关HAL库函数](#3 相关HAL库函数)
[4 重要结构体](#4 重要结构体)
[5 使用的简化代码](#5 使用的简化代码)
[5.1 方法1](#5.1 方法1)
[5.2 方法2](#5.2 方法2)
1 用途
FMC,Flexible Memory Controller,灵活的存储控制器。
用于驱动NOR/PSRAM,NAND/PC卡,同步DRAM(SDRAM/Mobile LPSDR SDRAM)等。配置好FMC,存储器当成普通外设使用。定义一个指向这些地址的指针,通过对指针操作就可以直接修改存储单元的内容,FMC自动完成读写命令和数据访问操作,不需要程序去实现时序。
相比FSMC。多出了同步DRAM(SDRAM/Mobile LPSDR SDRAM)的支持。
但仅在F4 / F7 / H7等高级一点的MCU上支持,F1不支持。
2 其他相关知识
与FSMC相似,此处不再赘述。
3 相关HAL库函数
4 重要结构体
5 使用的简化代码
5.1 方法1
5.2 方法2
这里LCD命令用0x60100000-2来代替,其实就是如FSMC部分所说,用于驱动LCD需要的其实是用地址线的拉高代替RS信号线的拉高,至于写数据的时候,则只要地址在对应Bank的对应分区内就可以了。