博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【iCore1S 双核心板_ARM】例程十四:FATFS实验——读写文件
阅读量:6971 次
发布时间:2019-06-27

本文共 3643 字,大约阅读时间需要 12 分钟。

实验现象:

核心代码:

int main(void){  /* USER CODE BEGIN 1 */    int i;    int j;    FIL file;    FATFS fatfs;                                                             //Âß¼­Çý¶¯Æ÷µÄ¹¤×÷Çø    static FRESULT res;                                                      //FRESULTº¯Êý¹«¹²½á¹û´úÂë    unsigned char write_buffer[512];                                         //дÎļþ»º³åÇø    unsigned char read_buffer[512];                                          //¶ÁÎļþ»º³åÇø    unsigned int counter;  /* USER CODE END 1 */  /* MCU Configuration----------------------------------------------------------*/  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */  HAL_Init();  /* Configure the system clock */  SystemClock_Config();  /* Initialize all configured peripherals */  MX_GPIO_Init();  MX_DMA_Init();  MX_SDIO_SD_Init();  MX_FATFS_Init();  MX_USART1_UART_Init();  SystemClock_Config();  /* USER CODE BEGIN 2 */    usart1.printf("\x0c");                                   //ÇåÆÁ    usart1.printf("\033[1;32;40m");                          //½«×ÖÌåÉèÖóÉÂÌÉ«    usart1.printf("\r\n\r\nhello! I am iCore1S!\r\n\r\n\r\n");    HAL_Delay(100);        res = f_mount(&fatfs,(TCHAR const*)SDPath,1);          //¹ÒÔØSD¿¨    if(res != RES_OK){                usart1.printf("f_mount error!\r\n");        while(1){            HAL_Delay(500);            LED_RED_TOGGLE;        }    }            else{        usart1.printf("f_mount successful!\r\n");    }    res = f_open(&file,"0:/test.txt",FA_READ | FA_WRITE | FA_OPEN_ALWAYS); //´ò¿ªÇý¶¯Æ÷0ÉϵÄÔ´Îļþ    if(res != RES_OK){        usart1.printf("f_open error!\r\n");        while(1){            HAL_Delay(500);            LED_RED_TOGGLE;        }            }else{        usart1.printf("f_open successful!\r\n");    }        res = f_lseek(&file,0);                                                     //Òƶ¯Ð´Ö¸Õëµ½ÎļþÊ×    if(res != RES_OK){        usart1.printf("f_lseek error!\r\n");        while(1){            HAL_Delay(500);            LED_RED_TOGGLE;        }                    }else{        usart1.printf("f_lseek successful!\r\n");    }        for(i = 0;i < 512;i++){        write_buffer[i] = i % 256;    }    res = f_write(&file,write_buffer,sizeof(write_buffer),&counter); //½«»º³åÆ÷ÖеÄÄÚÈÝдÈëÔ´Îļþ    if(res != RES_OK || counter != 512){        usart1.printf("f_write error!\r\n");        while(1){            HAL_Delay(500);            LED_RED_TOGGLE;        }        }else{        usart1.printf("f_write successful!\r\n");        }        res = f_lseek(&file,0);                                               //Òƶ¯¶ÁÖ¸Õëµ½ÎļþÊ×    if(res != RES_OK){        usart1.printf("f_lseek error!\r\n");        while(1){            HAL_Delay(500);            LED_RED_TOGGLE;        }                    }else{        usart1.printf("f_lseek successful!\r\n");    }        res = f_read(&file,read_buffer,sizeof(read_buffer),&counter);    if(res != RES_OK || counter != 512){        usart1.printf("f_read error!\r\n");        while(1){            HAL_Delay(500);            LED_RED_TOGGLE;        }        }else{        usart1.printf("f_read successful!\r\n");    }    f_close(&file);                                                 //¹Ø±ÕÔ´Îļþ        usart1.printf("read data:\r\n");    for(i = 0;i < 32;i++){        for(j = 0; j < 16; j ++)            usart1.printf(" %02X",read_buffer[i*16+j]);            usart1.printf("\r\n");    }  /* USER CODE END 2 */  /* Infinite loop */  /* USER CODE BEGIN WHILE */  while (1)  {  /* USER CODE END WHILE */  /* USER CODE BEGIN 3 */        HAL_Delay(500);        LED_GREEN_TOGGLE;  }  /* USER CODE END 3 */}

源代码下载链接:

链接: 密码:k4e9

转载地址:http://goasl.baihongyu.com/

你可能感兴趣的文章
主机名/etc/hosts文件的作用
查看>>
How to Setup MySQL (Master-Slave) Replication in CentOS
查看>>
TortoiseGit连接github.com
查看>>
java基础( 九)-----深入分析Java的序列化与反序列化
查看>>
Struts2、SpringMVC、Servlet(Jsp)性能对比 测试
查看>>
Lua C API 遍历 table
查看>>
数组A - 财务管理
查看>>
group by
查看>>
简单投票系统学到的一些东西
查看>>
android打电话,接电话,挂电话过程
查看>>
【LeanEAP.NET】精益企业应用平台实战----表格批量编辑与Undo/Redo功能实现
查看>>
从Excel中读取数据(python-xlrd)
查看>>
iframe显示高度自适应 兼容多浏览器
查看>>
Struts2 技术全总结 (正在更新)
查看>>
站在产品经理的角度看问题
查看>>
网络编程之urllib
查看>>
【转】WebView的JavaScript与本地代码三种交互方式
查看>>
xml转换为对象 微信接口
查看>>
HTML表单
查看>>
jzoj5984. 【北大2019冬令营模拟2019.1.1】仙人掌 (分块)
查看>>