zoukankan      html  css  js  c++  java
  • 使用FATFS文件系统读写SD卡

    定义相关变量

    /* USER CODE BEGIN PV */
    /* Private variables ---------------------------------------------------------*/
    #include "stdio.h"
    FATFS fs;                 // Work area (file system object) for logical drive
    FIL fil;                  // file objects
     
    uint32_t byteswritten;                /* File write counts */
    uint32_t bytesread;                   /* File read counts */
    uint8_t wtext[] = "This is STM32 working with FatFs"; /* File write buffer */
    uint8_t rtext[100];                     /* File read buffers */
    char filename[] = "STM32cube.txt";
    /* USER CODE END PV */
    

    进行读写

    /* USER CODE BEGIN 2 */
        printf("
     ****** FatFs Example ******
    
    ");
     
        /*##-1- Register the file system object to the FatFs module ##############*/
        retSD = f_mount(&fs, "", 0);
        if(retSD)
        {
            printf(" mount error : %d 
    ",retSD);
            Error_Handler();
        }
        else
            printf(" mount sucess!!! 
    ");
         
        /*##-2- Create and Open new text file objects with write access ######*/
        retSD = f_open(&fil, filename, FA_CREATE_ALWAYS | FA_WRITE);
        if(retSD)
            printf(" open file error : %d
    ",retSD);
        else
            printf(" open file sucess!!! 
    ");
         
        /*##-3- Write data to the text files ###############################*/
        retSD = f_write(&fil, wtext, sizeof(wtext), (void *)&byteswritten);
        if(retSD)
            printf(" write file error : %d
    ",retSD);
        else
        {
            printf(" write file sucess!!! 
    ");
            printf(" write Data : %s
    ",wtext);
        }
         
        /*##-4- Close the open text files ################################*/
        retSD = f_close(&fil);
        if(retSD)
            printf(" close error : %d
    ",retSD);
        else
            printf(" close sucess!!! 
    ");
         
        /*##-5- Open the text files object with read access ##############*/
        retSD = f_open(&fil, filename, FA_READ);
        if(retSD)
            printf(" open file error : %d
    ",retSD);
        else
            printf(" open file sucess!!! 
    ");
         
        /*##-6- Read data from the text files ##########################*/
        retSD = f_read(&fil, rtext, sizeof(rtext), (UINT*)&bytesread);
        if(retSD)
            printf(" read error!!! %d
    ",retSD);
        else
        {
            printf(" read sucess!!! 
    ");
            printf(" read Data : %s
    ",rtext);
        }
         
        /*##-7- Close the open text files ############################*/
        retSD = f_close(&fil);
        if(retSD)  
            printf(" close error!!! %d
    ",retSD);
        else
            printf(" close sucess!!! 
    ");
         
        /*##-8- Compare read data with the expected data ############*/
        if(bytesread == byteswritten)
        { 
            printf(" FatFs is working well!!!
    ");
        }
      /* USER CODE END 2 */
    

    完整的代码工程链接:https://pan.baidu.com/s/11ptg47VsVxnL_2rfkcFXdg
    提取码:tciq

  • 相关阅读:
    sizeof运算符、虚函数、虚继承考点(待修改)
    sizeof运算符、字节对齐考点(面宝P50)
    浮点数的存储、类型转换知识点(面宝P34)
    赋值语句C++(面宝P29)
    求格子中的最短路径条数问题
    求两个数的最大公约数和最小公倍数Java(cvte考题)
    快速排序c代码
    希尔排序java代码
    快速排序java代码
    归并排序java代码
  • 原文地址:https://www.cnblogs.com/mengydz/p/13092609.html
Copyright © 2011-2022 走看看