打印
[STM32F1]

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

[复制链接]
2239|54
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bqyj|  楼主 | 2019-9-1 20:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
读取SD卡TXT文件,每次读一个扇区,并通过esp8266发送,但是现在只能发送TXT内容的一半,请问大家遇到过这种情况吗?

使用特权

评论回复
沙发
bqyj|  楼主 | 2019-9-1 20:32 | 只看该作者
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);         
        
}

使用特权

评论回复
板凳
bqyj|  楼主 | 2019-9-1 20:36 | 只看该作者

我发现是 wifi发送数据 函数 的问题,因为我每次都是发送512个字节,但是txt不一定是512的整数。
atk_8266_wifiap_send(databuf);

使用特权

评论回复
地板
songqian17| | 2019-9-1 20:39 | 只看该作者
有统计吗,是发到什么关键字失败了

使用特权

评论回复
5
bqyj|  楼主 | 2019-9-1 20:42 | 只看该作者
没有特定关键字,就是只能发一半。我发现是 wifi发送数据 函数 的问题,因为我每次都是发送512个字节,但是txt不一定是512的整数。

使用特权

评论回复
6
huwr| | 2019-9-1 20:45 | 只看该作者

是不是数据太多了。

使用特权

评论回复
7
huanghuac| | 2019-9-1 20:47 | 只看该作者

以前udp传输txt也是有问题。

使用特权

评论回复
8
bqyj|  楼主 | 2019-9-1 20:50 | 只看该作者
不太懂。。。

使用特权

评论回复
9
wenfen| | 2019-9-1 21:03 | 只看该作者
可能数据太大存在问题。

使用特权

评论回复
10
zhuhuis| | 2019-9-1 21:06 | 只看该作者

UDP传输大小有限制吗,换TCP试试

使用特权

评论回复
11
tian111| | 2019-9-1 21:09 | 只看该作者

那就每次发512个,然后接着读发送

使用特权

评论回复
12
songqian17| | 2019-9-1 21:12 | 只看该作者
可能是某个缓存区有有限制。

使用特权

评论回复
13
chenho| | 2019-9-1 21:14 | 只看该作者

UDP传输大小是多少

使用特权

评论回复
14
chuxh| | 2019-9-1 21:19 | 只看该作者
那就先发一半呗,或者看看是什么问题

使用特权

评论回复
15
huwr| | 2019-9-1 21:21 | 只看该作者
不能分开发吗,非要一次发一大串?

使用特权

评论回复
16
songqian17| | 2019-9-1 21:24 | 只看该作者
发完一组重新装填继续发。

使用特权

评论回复
17
chenho| | 2019-9-1 21:26 | 只看该作者

把大文件分成小于512的,连续发

使用特权

评论回复
18
gongche| | 2019-9-1 21:29 | 只看该作者

分开发送不行吗

使用特权

评论回复
19
chenho| | 2019-9-1 21:31 | 只看该作者

以前见过都是分为1024一个块,然后发送。

使用特权

评论回复
20
wenfen| | 2019-9-1 21:36 | 只看该作者
怎么情况,先用串口发送试试

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

390

主题

4526

帖子

2

粉丝