[STM32F1]

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

[复制链接]
6431|32
手机看帖
扫描二维码
随时随地手机跟帖
MOMO2333|  楼主 | 2018-2-25 19:27 | 显示全部楼层 |阅读模式
本帖最后由 MOMO2333 于 2018-2-25 19:29 编辑

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

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

    /* Read all lines and display it */
                 
             for (;;)
         {                                                                                                                                
           memset(databuf,0,512);   
                                         ress=f_read(&fil,databuf,512, &brr);  
                                         if(ress==FR_OK)
                                                 {
                                           atk_8266_wifiap_send(databuf);
                                                 }
         
                                         if(f_eof(&fil)) {break;} // over
         }
                        
    /* Close the file */
    f_close(&fil);
          pic_memfree(databuf);         
        
}
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

粉丝