【iCore4 双核心板_ARM】例程十四:FATFS实验——文件操作
2017-08-30 08:47
423 查看
实验现象:
核心代码:
源代码下载链接:
链接:https://pan.baidu.com/s/1jJDh134 密码:3pyh
iCore4链接:
核心代码:
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链接:
相关文章推荐
- 【iCore1S 双核心板_ARM】例程十四:FATFS实验——读写文件
- 【iCore3 双核心板】例程十四:FATFS实验——文件操作
- 【iCore4 双核心板_FPGA】例程十四:基于I2C的ARM与FPGA通信实验
- 【iCore4 双核心板_ARM】例程十七:USB_MSC实验——读/写U盘(大容量存储器)
- 【iCore4 双核心板_ARM】例程二十九:SD_IAP_FPGA实验——更新升级FPGA
- 【iCore4 双核心板_ARM】例程三十四:U_DISK_IAP_ARM实验——更新升级STM32
- 【GMT43智能液晶模块】例程十三:FATFS实验——文件操作
- 【iCore4 双核心板_ARM】例程十五:USB_CDC实验——高速数据传输
- 【iCore4 双核心板_ARM】例程三十二:UART_IAP_ARM实验——更新升级STM32
- 【iCore4 双核心板_FPGA】例程十五:基于单口RAM的ARM+FPGA数据存取实验
- 【iCore4 双核心板_ARM】例程十一:DMA实验——存储器到存储器的传输
- 【iCore4 双核心板_ARM】例程十八:USBD_VCP实验——虚拟串口
- 【iCore4 双核心板_ARM】例程二十五:LWIP_DNS实验——域名解析
- 【iCore4 双核心板_ARM】例程三十五:HTTP_IAP_ARM实验——更新升级STM32
- 【iCore4 双核心板_FPGA】例程十二:基于UART的ARM与FPGA通信实验
- 【iCore4 双核心板_ARM】例程三十:U_DISK_IAP_FPGA实验——更新升级FPGA
- 【iCore4 双核心板_ARM】例程二十一:LWIP_TCP_SERVER实验——以太网数据传输
- 【iCore4 双核心板_ARM】例程五:SYSTICK定时器 实验——定时点亮LED
- 【iCore4 双核心板_ARM】例程二十二:LWIP_UDP实验——以太网数据传输
- 【iCore4 双核心板_ARM】例程二十六:LWIP_MODBUS_TCP实验——电源监控