永发信息网

stm32移植fatfs,建立文件成功为什么在电脑上看不到

答案:2  悬赏:0  手机版
解决时间 2021-01-28 10:46
  • 提问者网友:夢醒日落
  • 2021-01-28 04:34
stm32移植fatfs,建立文件成功为什么在电脑上看不到
最佳答案
  • 五星知识达人网友:woshuo
  • 2021-01-28 05:45
有可能只是写入扇区,在文件系统级别看不到,用winhex打开看看
全部回答
  • 1楼网友:洒脱疯子
  • 2021-01-28 06:22
给stm32移植fatfs文件系统,今天终于取得阶段性胜利。只需要提供这样几个函数即可 dstatus disk_initialize (byte); dstatus disk_status (byte); dresult disk_read (byte, byte*, dword, byte); dresult disk_write (byte, const byte*, dword, byte); // 如果实现只读的文件系统就不需要了。 dresult disk_ioctl (byte, byte, void*); 移植成功后,可以用如下方式读取sd卡了,实在太方便了,和pc机上编程差不了多少。 unsigned int i; byte buffer[512]; // file copy buffer fatfs fs; // work area (file system object) for logical drive fil fsrc; // file objects fresult res; // fatfs function common result code uint br; // file r/w count usart1_puts("now, i'll read file 'i2c/uart.lst'.\n"); // register a work area for logical drive 0 f_mount(0, &fs); // open source file res = f_open(&fsrc, "i2c/uart.lst", fa_open_existing | fa_read); if (res) { usart1_puts("can't open i2c/uart.lst for read. :-(\n"); goto exit; } for (;;) { res = f_read(&fsrc, buffer, sizeof(buffer), &br); if (res || br == 0) break; // error or eof for( i = 0; i < br; ++i ) usart1_putc(buffer[i]); } f_close(&fsrc); exit: // unregister a work area before discard it f_mount(0, null);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯