找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4087|回复: 1
收起左侧

stm32通过网口向tf卡内写大数据探究

[复制链接]
ID:91350 发表于 2015-10-29 22:53 | 显示全部楼层 |阅读模式
项目中需要将15M的大表格数据通过网口发到stm32,我用的还是407,ram能达到64KB,有经验的可能一看就知道怎么写,没经验的只能摸索。
        硬件平台
        Stm32f407
        金士顿tf卡+znfat
        网口:IP101  10M
        Lwip  的 udp传输
        一开始我使用网络调试助手,在没有上位机软件的情况下,使用udp传输一个达10M的数据,arm中我使用znfat循环写数据,明白人睁眼一看便知道此法愚蠢至极,实际上sd内数据也只能写进1.46M左右,网传的速度还是相当快的,10M的文件,也就12s左右传输完毕,但写tf的数据是十分慢的,所以丢包必须存在。


        后来我又把文件大小改成12KB,用文件发送,arm里边不写数据,直接返回来,发现丢包现象还是存在。
       
        源文件UART5.C    12.9KB

         

        接收的文件 1.c   11.9KB
         

        丢包是间隔的。

        反复思索没有写数据也会丢包,后来请教前辈说,你可以将电脑的数据分包发送,可能还是arm处理不过来,比如将一个10KB的数据分10次发送,每次发送1KB,间隔10ms,10ms应该能写进去1KB数据,可以测试一下。


        经过测试此种方法的确可行。
        分包发送大数据。
        根据这种方法,上传一个10M左右的文件需要10几分钟。

回复

使用道具 举报

ID:214006 发表于 2017-6-30 16:04 | 显示全部楼层
很精神的一种解决思路 学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表