【iCore4 双核心板_ARM】例程十四:FATFS实验——文件操作
实验现象:
核心代码:
int main(void) { int i,j;FIL file;FATFS fatfs;static FRESULT res;unsigned char write_buffer[512]; unsigned char read_buffer[512]; unsigned int counter;system_clock.initialize(); led.initialize(); usart6.initialize(115200); usart6.printf("\x0c"); usart6.printf("\033[1;32;40m"); usart6.printf("\r\nHello, I am iCore4!\r\n\r\n"); if(BSP_SD_Init() != 0){usart6.printf("SD ERROR!\r\n");while(1){LED_RED_ON;HAL_Delay(500);LED_RED_OFF;HAL_Delay(500);}}else{usart6.printf("SD Initialize successful!\r\n");} HAL_Delay(500);res = f_mount(&fatfs,"0:",1);if(res != RES_OK){usart6.printf("f_mount error!\r\n");while(1){LED_RED_ON;HAL_Delay(500);LED_RED_OFF;HAL_Delay(500); }}else{usart6.printf("f_mount successful!\r\n");} res = f_open(&file,"0:/SD¿¨²âÊÔ.txt",FA_READ | FA_WRITE | FA_OPEN_ALWAYS);//´ò¿ªÇý¶¯Æ÷0ÉϵÄÔ´Îļþif(res != RES_OK){usart6.printf("f_open error!\r\n");while(1){HAL_Delay(500);LED_RED_ON;HAL_Delay(500);LED_RED_OFF;} }else{usart6.printf("f_open successful!\r\n");}res = f_lseek(&file,0); if(res != RES_OK){usart6.printf("f_lseek error!\r\n");while(1){HAL_Delay(500);LED_RED_ON;HAL_Delay(500);LED_RED_OFF;} }else{usart6.printf("f_lseek successful!\r\n");}for(i = 0;i < 512;i++){write_buffer[i] = i % 256;} res = f_write(&file,write_buffer,512,&counter); //½«»º³åÆ÷ÖеÄÄÚÈÝдÈëÔ´Îļþif(res != RES_OK || counter != 512){usart6.printf("f_write error!\r\n");while(1){HAL_Delay(500);LED_RED_ON;HAL_Delay(500);LED_RED_OFF;} }else{usart6.printf("f_write successful!\r\n"); } res = f_lseek(&file,0); if(res != RES_OK){usart6.printf("f_lseek error!\r\n");while(1){HAL_Delay(500);LED_RED_ON;HAL_Delay(500);LED_RED_OFF;} }else{usart6.printf("f_lseek successful!\r\n");} res = f_read(&file,read_buffer,512,&counter);if(res != RES_OK || counter != 512){usart6.printf("f_read error!\r\n");while(1){HAL_Delay(500);LED_RED_ON;HAL_Delay(500);LED_RED_OFF;} }else{usart6.printf("f_read successful!\r\n");}f_close(&file); usart6.printf("read data:\r\n");for(i = 0;i < 32;i++){for(j = 0; j < 16; j ++)usart6.printf(" %02X",read_buffer[i*16+j]);usart6.printf("\r\n");} while(1){LED_GREEN_ON;HAL_Delay(500);LED_GREEN_OFF;HAL_Delay(500); } }
源代码下载链接:
链接:https://pan.baidu.com/s/1jJDh134 密码:3pyh
iCore4链接:
转载于:https://www.cnblogs.com/xiaomagee/p/7451367.html
【iCore4 双核心板_ARM】例程十四:FATFS实验——文件操作相关推荐
- 【iCore4 双核心板_ARM】例程三十八:DSP MATH库测试
实验现象: 核心代码: int main(void) {/* USER CODE BEGIN 1 */int i,j;int res;float time[2];static int error_fl ...
- 【iCore4 双核心板_ARM】例程二十:LWIP_TCP_CLIENT实验——以太网数据传输
实验现象: 核心代码: int main(void) { system_clock.initialize(); //ϵͳʱÖÓ³õʼ»¯led.initialize(); //LED³õʼ» ...
- 【iCore4 双核心板_ARM】例程十七:USB_MSC实验——读/写U盘(大容量存储器)
实验方法: 1.将跳线冒跳至USB_UART,通过Micro USB 线将iCore4 USB-UART接口与电脑相连. 2.打开PUTTY软件. 3.通过读U盘转接线将U盘(或者读卡器)与iCore ...
- 【iCore4 双核心板_ARM】例程五:SYSTICK定时器 实验——定时点亮LED
实验原理: 通过STM32的三个GPIO口驱动三色LED的三个通道,设定GPIO为推挽输出模式,采 用灌电流方式与LED连接,输出高电平LED灭,输出低电平LED亮,通过系统定时器实现 1s定时,每秒 ...
- 【iCore4 双核心板_ARM】例程二十三:LWIP_HTTP实验——网页服务器
实验现象: 核心代码: int main(void) { system_clock.initialize(); led.initialize(); adc.initialize(); delay.in ...
- 【iCore4 双核心板_ARM】例程十一:DMA实验——存储器到存储器的传输
实验原理: DAM(直接存储器访问)传输不需要占用CPU,可以在存储器至存储器实现高速的数据 传输.本实验采用DAM2控制器的数据流0,选用通道0进行数据传输.通过LED的颜色来 判断传输是否成功. ...
- 【iCore4 双核心板_ARM】例程一:ARM驱动三色LED
实验原理: 通过STM32的三个GPIO驱动一个三色LED,引脚PB2接红色LED(ARM_LEDR), 引脚PA9接蓝色LED(ARM_LEDB),引脚PA10接绿色LED(ARM_LEDG), ...
- 【iCore3 双核心板】例程十七:USB_MSC实验——读/写U盘(大容量存储器)
实验指导书及代码包下载: http://pan.baidu.com/s/1qXt1L0o iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 【iCore1S 双核心板_ARM】例程五:IWDG看门狗实验——复位ARM
实验原理: STM32内部包含独立看门狗,通过看门狗可以监控程序运行,程序错误 时,未在规定时间喂狗,自动复位ARM.本实验通过按键按下,停止喂狗, 制造程序运行 错误,从而产生复位 . 实验现象: ...
- 【iCore4 双核心板_FPGA】例程十六:基于双口RAM的ARM+FPGA数据存取实验
实验现象: 核心代码: int main(void) {/* USER CODE BEGIN 1 */int i;int address,data;char error_flag = 0;char r ...
最新文章
- Unity,WebGL, 页面JS调用Unity方法
- 《PHP精粹:编写高效PHP代码》——第1章面向对象编程
- ASP.NET Core 1.0 开发记录
- VS.NET提示试图运行项目时出错:无法启动调试。绑定句柄无效解决办法
- 安装、卸载、查看软件时常用的命令
- 网络多人游戏架构pdf_21秒看尽ImageNet屠榜模型,60+模型架构同台献艺
- Java开发者值得关注的十个技术博客
- 赋值语句、变量、数学表达式、位运算详解(C++)
- golang 查询mysql_Golang查询MySQL数据库
- java web在线购物_JAVAWEB网上商城购物系统
- 编程语言的执行方式、静态语言和脚本语言
- java byte(字节)根据长度转成kb(千字节)和mb(兆字节)
- 添加网络计算机后打印乱码,Windows7系统打印机无法打印出现乱码的解决方法
- E罗斯宝藏网站,收藏起来一定用的到!
- Docker Swarm 维护模式
- Android Studio 类微信界面的制作
- 怎么修复SONY索尼相机摄像机断电死机损坏的MP4视频文件
- 励销云全流程智能销售解决方案,助力B2B企业高效增长
- python npv 计算公式_Python numpy 中常用的数据运算
- Medicare Fraud Detection using Machine Learning