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. }
复制代码

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。