推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

获得赏金
5.00元
STM32HAL库-freertos-SD卡-FATFS操作

更新时间:2026-02-13 15:30:41 大小:18M 上传用户:曲鹏查看TA发布的资源 标签:stm32halfreertossdfatfs 下载积分:0分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

该项目主控芯片为STM32F103RCT6

接口定义

PC8   -  DATA0

PC9   -  DATA1

PC10 - DATA2

PC11 -  DATA3

PC12 -  CLK

PD2  -  CMD

采用HAL库,由STM32CUBEMX生成,集成Freertos、SD卡操作和Fatfs文件系统,为提高读写速度采用DMA方式

项目中的案例包括文件挂载、打开、读写等操作,以及每一步出现问题时printf提示操作

开启一个LED灯闪烁的线程,用来指示程序运行


该项目给出了参考电路设计和实例源码,供参考学习


部分源码如下:

/* 挂载文件系统,挂载的时候会完成对应硬件设备(SD卡/SDnand)初始化 */

    ret = mf_mount("0:", 1);

    if(ret != FR_OK)

    {

        printf("f_mount error!\r\n");

        goto mount_error;

    }

    else if(ret == FR_NO_FILESYSTEM)             /* 检测是否存在文件系统,如果没有则进行格式化 */

    {

        printf("未检测到FATFS文件系统,执行格式化...\r\n");

        ret = mf_fmkfs(USERPath, 0, 0);

        if(ret == FR_OK)

        {

            printf("格式化成功!\r\n");

            f_mount(NULL, USERPath, 1); /* 先取消挂载,后重新挂载 */

            ret = mf_mount("0:", 1);

        }

        else

        {

            printf("格式化失败!\r\n");

            goto mount_error;

        }

    }

    else

    {

        printf("f_mount success!\r\n");

    }


    /* 读写测试 */

    printf("\r\n ========== write test ==========\r\n");

    ret = mf_open("HELLO.TXT", FA_CREATE_ALWAYS | FA_WRITE);

    if(ret == FR_OK)

    {

        printf("open file sucess!\r\n");

        ret = mf_write(write_buf, sizeof(write_buf), &num);

        if(ret == FR_OK)

        {

            printf("write success!\r\nwrite len:%d\r\n", num);

        }

        else

        {

            printf("write error! ret:%d \r\n", ret);

            goto rw_error;

        }

        mf_close();

    }

    else

    {

        printf("open file error!\r\n");

        goto rw_error;

    }

部分文件列表

文件名 大小
HAL-MY_freertos-SD卡-FATFS.rar 18M

【关注B站账户领20积分】

  • 21ic小能手打赏了5.00

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载