在用STM32读写txt文件时,总会写入一组无关的NUL数据

2019-12-20 21:40发布

本帖最后由 thy110 于 2018-3-26 21:35 编辑

我每次写入一组数据都会在改组数据后面追加一组无关的NUL,造成matlab读取数据时总是有错误数据,例中我每累计256个数据写入一次,但是后面也会写入256个NUL,通过串口打印是也观察不到这一组数据,很烦。
  1.         while(1)
  2.         {       
  3.                 if(i == 256)
  4.                 {
  5.                 res_sd = f_open(&fnew, "0:data.txt",FA_OPEN_EXISTING|FA_WRITE );
  6.                 f_lseek(&fnew,fnew.fptr+fnew.fsize);
  7.                 res_sd=f_write(&fnew,data_all,sizeof(data_all),&fnum);
  8.                 printf("%s",data_all);
  9.                 f_close(&fnew);
  10.                 memset(data_all, 0, sizeof(data_all));
  11.                 i=0;
  12.                 }
  13.                 else
  14.                 {
  15.                 sprintf(datasave,"%02x%02x %s",Rx_Buffer[0],Rx_Buffer[1]," ");
  16.                 strcat(data_all,datasave);
  17.                 i++;
  18.                 }
  19.         }
复制代码
TIM截图20180326212810.png (42.46 KB, 下载次数: 0) 下载附件 2018-3-26 21:28 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。