[STM32F1] 读取SD卡TXT文件,并通过esp8266发送

[复制链接]
7733|32
 楼主| MOMO2333 发表于 2018-2-25 19:27 | 显示全部楼层 |阅读模式
本帖最后由 MOMO2333 于 2018-2-25 19:29 编辑

读取SD卡TXT文件,每次读一个扇区,并通过esp8266发送,但是现在只能发送TXT内容的一半,请问大家遇到过这种情况吗?
  1. void  txt_trans(u8 *pname)
  2. {
  3.           FATFS FatFs;   /* Work area (filesystem object) for logical drive */
  4.           UINT brr        ;
  5.     u8 ress;
  6.     FRESULT fr;     /* FatFs return code */
  7.     u8 *databuf;                                //Ò»ÐÐÊý¾Ý»º´æÇøµØÖ·        
  8.         
  9.    
  10.     FIL fil;        /* File object */
  11.     databuf=(u8*)pic_memalloc(512);               

  12.         
  13.     /* Register work area to the default drive */
  14.     f_mount(&FatFs, "", 0);
  15.         
  16.     /* Open a text file */
  17.     fr = f_open(&fil,(const TCHAR*)pname, FA_READ);

  18.     /* Read all lines and display it */
  19.                  
  20.              for (;;)
  21.          {                                                                                                                                
  22.            memset(databuf,0,512);   
  23.                                          ress=f_read(&fil,databuf,512, &brr);  
  24.                                          if(ress==FR_OK)
  25.                                                  {
  26.                                            atk_8266_wifiap_send(databuf);
  27.                                                  }
  28.          
  29.                                          if(f_eof(&fil)) {break;} // over
  30.          }
  31.                         
  32.     /* Close the file */
  33.     f_close(&fil);
  34.           pic_memfree(databuf);         
  35.         
  36. }
 楼主| MOMO2333 发表于 2018-2-25 20:27 | 显示全部楼层
我发现是 wifi发送数据 函数 的问题,因为我每次都是发送512个字节,但是txt不一定是512的整数。
atk_8266_wifiap_send(databuf);
huahuagg 发表于 2018-2-25 20:35 | 显示全部楼层
有统计吗,是发到什么关键字失败了
 楼主| MOMO2333 发表于 2018-2-25 20:56 | 显示全部楼层
huahuagg 发表于 2018-2-25 20:35
有统计吗,是发到什么关键字失败了

没有特定关键字,就是只能发一半。我发现是 wifi发送数据 函数 的问题,因为我每次都是发送512个字节,但是txt不一定是512的整数。
pmp 发表于 2018-2-25 22:05 | 显示全部楼层
是不是数据太多了。
mmbs 发表于 2018-2-25 22:05 | 显示全部楼层
以前udp传输txt也是有问题。
pmp 发表于 2018-2-25 22:11 | 显示全部楼层
分为1024一块进行发送。
mmbs 发表于 2018-2-25 22:11 | 显示全部楼层
可能数据太大存在问题。
yiy 发表于 2018-2-26 19:48 | 显示全部楼层
UDP传输大小有限制吗,换TCP试试
dongnanxibei 发表于 2018-2-26 21:14 | 显示全部楼层
那就每次发512个,然后接着读发送
dongnanxibei 发表于 2018-2-26 21:14 | 显示全部楼层
可能是某个缓存区有有限制。
Stannis 发表于 2018-2-27 15:06 | 显示全部楼层
UDP传输大小是多少
caijie001 发表于 2018-2-27 15:18 | 显示全部楼层
那就先发一半呗,或者看看是什么问题
643757107 发表于 2018-2-27 16:34 | 显示全部楼层
不能分开发吗,非要一次发一大串?
643757107 发表于 2018-2-27 16:34 | 显示全部楼层
发完一组重新装填继续发。
ddllxxrr 发表于 2018-2-27 21:20 | 显示全部楼层
把大文件分成小于512的,连续发
selongli 发表于 2018-2-27 22:26 | 显示全部楼层
分开发送不行吗
selongli 发表于 2018-2-27 22:27 | 显示全部楼层
以前见过都是分为1024一个块,然后发送。
一路向北lm 发表于 2018-2-28 07:59 来自手机 | 显示全部楼层
怎么情况,先用串口发送试试
m564522634 发表于 2018-2-28 09:47 | 显示全部楼层
哥长度限制呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部