stm32f407ve做host插入u盘,创建文件正常,但是写入数据错误

2019-07-20 01:00发布

  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 ",res); return ;}
  11.         else{DEBUG_printf("U_open_OK ");}
  12.         
  13.         while(1)
  14.         {
  15.                 res = f_write(&U_fdst,"1234578 ",10,&bw_);    在这里不出来不知道为什么?
  16.                 res = res;
  17.                 if(res || bw_ < br_){DEBUG_printf("U_write_error disk full:%d-%d ",res,bw_); break ;}
  18.         }
  19.         f_close(&U_fdst);
  20.         DEBUG_printf("f_close ");
  21. }
复制代码res = f_write(&U_fdst,"1234578 ",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 ",res); return ;}
  11. else{DEBUG_printf("U_open_OK ");}

  12. f_close(&U_fdst);
  13. DEBUG_printf("f_close ");
  14. }
复制代码

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
zhcj66
1楼-- · 2019-07-20 03:00
 精彩回答 2  元偷偷看……
zhcj66
2楼-- · 2019-07-20 05:48
 精彩回答 2  元偷偷看……
翼行园子
3楼-- · 2019-07-20 08:19
返回值 读出来Res 是什么
zhcj66
4楼-- · 2019-07-20 13:24
本帖最后由 zhcj66 于 2019-7-2 16:21 编辑
翼行园子 发表于 2019-7-2 16:06
返回值 读出来Res 是什么

没有跳出这个函数 所以没有返回,一直在这个函数里面,拔下u盘就可以跳出来了
zhcj66
5楼-- · 2019-07-20 13:58
 精彩回答 2  元偷偷看……
翼行园子
6楼-- · 2019-07-20 19:08
 精彩回答 2  元偷偷看……

一周热门 更多>