# Fatas学习 **Repository Path**: NOP404_admin/fatas-learning ## Basic Information - **Project Name**: Fatas学习 - **Description**: 简单过一遍Fatas系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-25 - **Last Updated**: 2026-04-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FATAS 学习项目 ## 项目简介 本项目是基于 STM32H750VBTx 微控制器的 FATFS 文件系统学习示例。它演示了如何在嵌入式系统中使用 FAT 文件系统进行 SD 卡读写操作。 主要功能包括: - SD 卡初始化和检测 - FAT 文件系统支持 - 文件读写操作 - 目录遍历功能 - 随机数生成和日志记录 ## 硬件平台 - 微控制器:STM32H750VBTx - 存储介质:SD 卡 - 外设支持: - GPIO - UART - SDMMC - RNG (随机数发生器) - TIM (定时器) ## 软件架构 项目使用 STM32 HAL 库和 FatFs 文件系统库,主要模块包括: - **Core/**: STM32H7 系列微控制器核心驱动 - **Drivers/**: STM32 HAL 库驱动 - **FATFS/**: FatFs 文件系统集成 - **Middlewares/Third_Party/FatFs**: FatFs 文件系统核心库 ## 功能特性 1. **SD 卡操作** - 初始化和状态检测 - 块读写操作 - DMA 传输支持 2. **文件系统操作** - 文件创建和写入 - 文件读取和追加 - 目录遍历和管理 - 文件系统挂载和卸载 3. **测试功能** - SD 卡原始读写测试 - 文件系统性能测试 - 日志记录功能 - 随机数生成和存储 ## 使用说明 1. 将 SD 卡插入开发板 2. 编译并下载程序到微控制器 3. 系统将自动初始化 SD 卡和文件系统 4. 可通过串口查看操作日志和测试结果 ## 关键函数 - `Test_SD_Raw()`: SD 卡原始读写测试 - `Test_FATFS_Write()`: FAT 文件系统写入测试 - `Write_Log_Append()`: 日志文件追加写入 - `Scan_Root_Dir()`: 扫描根目录 - `Scan_Dir_Recursive()`: 递归扫描目录树 - `Test_Write_Speed()`: 写入速度测试 ## 中断处理 - 定时器中断:用于周期性操作 - RNG 中断:随机数生成完成通知 - SDMMC 中断:SD 卡操作完成通知 ## 许可证 本项目使用开源 STM32 HAL 库和 FatFs 文件系统,遵循各自的许可证协议。 ## 注意事项 - 确保 SD 卡格式为 FAT32 - 使用稳定的电源供应以避免 SD 卡读写错误 - 在进行文件操作时避免突然断电