搜索
bottom↓
回复: 10

stm32f407 最大能读多少G的U盘

[复制链接]

出0入0汤圆

发表于 2013-6-24 13:59:13 | 显示全部楼层 |阅读模式
我4G的U盘能读能写,但是8G的U盘只能枚举成功。

出0入0汤圆

发表于 2013-6-24 14:02:56 | 显示全部楼层
貌似不是大小的问题,是官方库的兼容性问题

出0入0汤圆

 楼主| 发表于 2013-6-24 14:07:08 | 显示全部楼层
Eric2013 发表于 2013-6-24 14:02
貌似不是大小的问题,是官方库的兼容性问题

用的是v2.1.0的库

出0入0汤圆

发表于 2013-6-24 15:30:24 | 显示全部楼层
文件系统用的啥

出0入0汤圆

 楼主| 发表于 2013-6-24 15:49:34 | 显示全部楼层
wang1216 发表于 2013-6-24 15:30
文件系统用的啥

fat文件系统

出0入0汤圆

发表于 2013-6-24 16:52:29 | 显示全部楼层
这个跟软件有关

出0入0汤圆

 楼主| 发表于 2013-6-24 17:00:35 | 显示全部楼层
zgxcom123 发表于 2013-6-24 16:52
这个跟软件有关

你的意思是要修改库呢还是修改用户程序就行了,请指教

出0入0汤圆

发表于 2013-6-25 11:37:42 | 显示全部楼层
用官方例子,试过16G的,没问题,手边没有更大的了

出0入0汤圆

发表于 2013-6-25 11:41:49 | 显示全部楼层
fat如何才能读8G?

fat最大的文件系统是4G。

出0入0汤圆

发表于 2013-6-25 11:53:59 | 显示全部楼层
fat32            

出0入53汤圆

发表于 2019-7-2 15:35:29 | 显示全部楼层
Eric2013 发表于 2013-6-24 14:02
貌似不是大小的问题,是官方库的兼容性问题

  1. //sd卡数据复制到U盘
  2. void SDDataToUpanProcess(void)
  3. {
  4. //FATFS fs_;        //逻辑磁盘工作区
  5. FIL U_fdst;        //文件
  6. FRESULT res;//状态变量
  7. typedef unsigned int        UINT;
  8. UINT br_,bw_;
  9.         res = f_open(&U_fdst,"2:\1.txt",FA_WRITE | FA_CREATE_ALWAYS);        //打卡U盘
  10.         if(res !=FR_OK){DEBUG_printf("U_open_ERR:%d\r\n",res); return ;}
  11.         else{DEBUG_printf("U_open_OK\r\n");}
  12.         
  13.         while(1)
  14.         {
  15.                 res = f_write(&U_fdst,"1234578\r\n",10,&bw_);    在这里不出来不知道为什么?
  16.                 res = res;
  17.                 if(res || bw_ < br_){DEBUG_printf("U_write_error disk full:%d-%d\r\n",res,bw_); break ;}
  18.         }
  19.         f_close(&U_fdst);
  20.         DEBUG_printf("f_close\r\n");
  21. }
复制代码

复制代码
res = f_write(&U_fdst,"1234578\r\n",10,&bw_);    在这里不出来不知道为什么?



下面的代码创建1.txt文件是正常的

  1. //sd卡数据复制到U盘
  2. void SDDataToUpanProcess(void)
  3. {
  4. //FATFS fs_;        //逻辑磁盘工作区
  5. FIL U_fdst;        //文件
  6. FRESULT res;//状态变量
  7. typedef unsigned int        UINT;
  8. UINT br_,bw_;
  9.         res = f_open(&U_fdst,"2:\1.txt",FA_WRITE | FA_CREATE_ALWAYS);        //打卡U盘
  10.         if(res !=FR_OK){DEBUG_printf("U_open_ERR:%d\r\n",res); return ;}
  11.         else{DEBUG_printf("U_open_OK\r\n");}
  12.         
  13.         f_close(&U_fdst);
  14.         DEBUG_printf("f_close\r\n");
  15. }
  16. 复制代码
复制代码



下面的读取代码是正常的
  1.         res=f_open (&U_fdst,"2:/1.txt", FA_READ);          //读方式打开配置文件
  2. //        f_lseek(&fil0,i*6);             //每次读取之前先移动读写指针达到读写不同数据的目的
  3.     if(res !=FR_OK){DEBUG_printf("ERR:%d\r\n",res);}
  4.         res=f_read (&U_fdst, buf,100,&br_);                        //读取文件到buf
  5.         if(res !=FR_OK){DEBUG_printf("ERR:%d\r\n",res);}
  6.         f_close(&U_fdst);                                                                        //关闭文件
  7. //        configbound = atol(buf);                                                 //使用stdlib.h头文件里面的函数将字符串转换为数字
  8.         printf("读取1.txt配置文件\r\n内容为:\r\n%s\r\n",buf);//将数字使用printf函数输出
复制代码
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 10:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表