打印

HC32F460 U盘文件读写例程

[复制链接]
3811|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小铭杨工|  楼主 | 2025-5-5 13:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
hbzjt2011| | 2025-6-19 15:16 | 只看该作者

HC32F460 U盘文件读写例程

#include "usb_host.h"    // USB Host驱动接口#include "ff.h"          // FatFs头文件#include FATFS fs;       // 文件系统对象FIL file;       // 文件对象FRESULT res;UINT bw, br;    // 读写字节数void USBH_UserProcess(uint8_t id){    switch(id) {        case HOST_USER_CONNECTION:            // U盘连接成功            break;        case HOST_USER_DISCONNECTION:            // U盘拔出            break;        case HOST_USER_CLASS_ACTIVE:            // 设备准备好,可以挂载文件系统            if (f_mount(&fs, "", 1) == FR_OK) {                // 文件系统挂载成功            }            break;        default:            break;    }}int main(void){    System_Init();      // 系统初始化    USBH_Init();        // USB Host初始化,注册回调USBH_UserProcess    USBH_Start();    while(1) {        USBH_Process();   // USB Host主状态机        if (U盘已挂载) {            // 写文件示例            res = f_open(&file, "test.txt", FA_OPEN_ALWAYS | FA_WRITE);            if(res == FR_OK) {                f_lseek(&file, f_size(&file));  // 定位到文件末尾                char wbuf[] = "Hello HC32F460 USB!\r\n";                f_write(&file, wbuf, strlen(wbuf), &bw);                f_close(&file);            }            // 读文件示例            res = f_open(&file, "test.txt", FA_READ);            if(res == FR_OK) {                char rbuf[128];                memset(rbuf, 0, sizeof(rbuf));                f_read(&file, rbuf, sizeof(rbuf)-1, &br);                f_close(&file);                // 这里可以打印rbuf,或做其它处理            }        }    }}参考以上框架

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝