这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
fatfs实验_文件操作 [2020/07/04 16:18] zgf |
fatfs实验_文件操作 [2022/03/22 10:19] (当前版本) sean |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | |||
+ | | **银杏科技有限公司旗下技术文档发布平台** |||| | ||
+ | |技术支持电话|**0379-69926675-801**||| | ||
+ | |技术支持邮件|Gingko@vip.163.com||| | ||
+ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
+ | | V1.0 | 2020-07-04 | gingko | 初次建立 | | ||
+ | |||
===== 实验十四:FATFS实验——文件操作 ===== | ===== 实验十四:FATFS实验——文件操作 ===== | ||
行 8: | 行 15: | ||
- 掌握KEIL MDK 集成开发环境使用方法。 | - 掌握KEIL MDK 集成开发环境使用方法。 | ||
==== 二、 实验设备及平台 ==== | ==== 二、 实验设备及平台 ==== | ||
- | - iCore4 双核心板。 | + | - iCore4 双核心板[[https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22598974120.15.5923532fsFrHiE&id=551864196684|点击购买]]。 |
- | - JLINK(或相同功能)仿真器。 | + | - JLINK(或相同功能)仿真器[[https://item.taobao.com/item.htm?id=554869837940|点击购买]]。 |
- Micro USB线缆。 | - Micro USB线缆。 | ||
- Keil MDK 开发平台。 | - Keil MDK 开发平台。 | ||
行 39: | 行 46: | ||
* FATFS的这些特点,加上免费、开源的原则,使得FATFS应用非常广泛。 | * FATFS的这些特点,加上免费、开源的原则,使得FATFS应用非常广泛。 | ||
=== 4、FATFS模块的层次结构图 === | === 4、FATFS模块的层次结构图 === | ||
- | {{ :icore4:icore4_arm_hal_14_1.png?direct |}} | + | {{ :icore4:icore4_arm_hal_14_1.png?direct&500 |}} |
* 最顶层是应用层,使用者无需理会FATFS的内部结构和复杂的FAT协议,只需要调用FATFS模块提供给用户的一系列应用接口函数,如f_open,f_read,f_write和f_close等,就可以像在PC上读/写文件那样简单。 | * 最顶层是应用层,使用者无需理会FATFS的内部结构和复杂的FAT协议,只需要调用FATFS模块提供给用户的一系列应用接口函数,如f_open,f_read,f_write和f_close等,就可以像在PC上读/写文件那样简单。 | ||
行 47: | 行 54: | ||
* STM32F767上带有SDIO控制器,iCore4核心板上将SDIO连接到TF卡座上。本实验将Micro SD卡插入TF卡座上即可。通过 FATFS创建test.txt文件,并且写入数据0-511,然后读出并打印到终端上。原理图如下: | * STM32F767上带有SDIO控制器,iCore4核心板上将SDIO连接到TF卡座上。本实验将Micro SD卡插入TF卡座上即可。通过 FATFS创建test.txt文件,并且写入数据0-511,然后读出并打印到终端上。原理图如下: | ||
- | {{ :icore4:icore4_arm_hal_14_2.png?direct |}} | + | {{ :icore4:icore4_arm_hal_14_2.png?direct&600 |}} |
==== 四、 实验程序 ==== | ==== 四、 实验程序 ==== | ||
=== 1、主函数 === | === 1、主函数 === | ||
+ | <code c> | ||
int main(void) | int main(void) | ||
{ | { | ||
行 69: | 行 77: | ||
MX_FATFS_Init(); | MX_FATFS_Init(); | ||
MX_USART6_UART_Init(); | MX_USART6_UART_Init(); | ||
- | |||
usart6.initialize(115200); //串口波特设置 | usart6.initialize(115200); //串口波特设置 | ||
usart6.printf("\x0c"); //清屏 | usart6.printf("\x0c"); //清屏 | ||
行 178: | 行 185: | ||
} | } | ||
} | } | ||
+ | </code> | ||
=== 2、FATFS初始化 === | === 2、FATFS初始化 === | ||
<code c> | <code c> |