FATFS文件系统打开一个文件并读出内容

由于官方移植的FATFS是短文件名英文,因此调试时在U盘里创建了一个名为demo.txt的文件

   在USBH_USR_MSC_Application函数下添加了一段代码。


/**
* @brief  USBH_USR_MSC_Application
*         Demo application for mass storage
* @param  None
* @retval Staus
*/
int USBH_USR_MSC_Application(void)

uint8_t readTextBuff[]  = "                                                 ";
uint16_t bytesRead ;

f_open(&file,"0:demo.txt",FA_OPEN_EXISTING | FA_READ);
f_read(&file,readTextBuff,sizeof(readTextBuff ),(void *)&bytesRead );
if(bytesRead >0)
{
    LCD_UsrLog("%s ",readTextBuff);
    LCD_UsrLog("%d ",bytesRead);
}
else
{
    LCD_ErrLog("> demo.text can not be open ....");
}
f_close(&file);


 实验结果是打印出

        >host demo application using FAT_FS

        >34 

        这是事先存在demo.txt文件里的一段文字,共34个字符(包括空格)。


STM32F103ZE是一款基于ARM Cortex-M3内核的高性能微控制器,广泛应用于嵌入式系统开发中。如果你提到的是如何通过该单片机“查看文件”,这通常涉及到以下几个方面: ### 1. **理解需求** - 如果你是想在STM32平台上取外部存储设备(如SD卡、USB等)中的文件内容,则需要使用对应的驱动程序及文件系统库。 - STM32支持多种外设接口,例如SPI、I2C、USART等,可以连接到各种类型的存储介质。 ### 2. **实现步骤** 以下是大致流程: - **初始化硬件**:配置GPIO口以及相关的通信协议(比如SPI用于SD卡通讯)。 - **挂载文件系统**:利用第三方提供的轻量级文件系统软件包,如FatFS。它是一个适合于小型嵌入式系统的开源文件系统模块,能够处理FAT12/16/32分区格式的数据操作。 - **打开写目标文件**:按照API指导完成具体的文件操作命令发送与接收数据解析工作。 #### 示例代码片段 (采用FatFs库) ```c #include "ff.h" // FatFs标准头文件 int main(){ FRESULT res; FIL file; /* 文件对象 */ // 挂载盘符 '0' f_mount(&fs, "", 0); // 打开名为"data.txt"只模式下的文本文件 res = f_open(&file,"data.txt", FA_READ); if(res == FR_OK){ UINT br; char buffer[50]; // 尝试从已开启的文件读出最多49字节长度的信息存放到缓冲区内 res = f_read(&file,buffer,sizeof(buffer)-1,&br); if(res==FR_OK && br>0){ buffer[br]=0;// 确保字符串结尾添加'\0',方便后续打印函数识别结束位置 puts(buffer); } else{ printf("Error reading file\n"); } // 关闭当前正在使用的资源句柄 f_close(&file); }else{ printf("Cannot open file [%d]\n",res); } return 0; } ``` 注意:上述仅为示例说明性质,未涵盖完整项目搭建过程包括但不限于时钟树设定、DMA传输启用等等细节部分;实际应用过程中需参照官方资料手册逐步完善功能架构设计思路。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值