• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32H743通过以太网连续发送图片,一段时间后,发送慢

FEItwo 2019-01-12 浏览量:1614
 我用的芯片是STM32H743+LAN8742,在这个平台上实现摄像头图片采集压缩成JPEG格式,然后通过以太网(LWIP)的netconn_write函数发送出去,我这边是服务器端,电脑端使用的是原子开发板资料中的软件“串口&网络摄像头软件”作为客户端。我建了两个线程一个用来采集图像和压缩,一个是以太网连接和发送压缩图片的,每个线程结束后加一个osDelay(30); 一开始运行都正常一秒钟可以发送几帧图片,但运行一段时间后,我这一个小时,图片发送就卡了,很慢大概一分钟才发出一帧图片。线程后的延时时间长了,正常运行的时间就会长一些。因为就卡在err = netconn_write(newconn Jpeg_Image_BufferJPEG_ImageSize_Bytes NETCONN_COPY);这条语句的地方,我对LWIP内部不了解,所以不清楚可能的原因,希望有了解的朋友可以给予指点指点,非常感谢!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个慢要进行仿真调试一下看看是哪里的问题,是不是内存占用太多,而没有释放的原因呢
    • 发布于 2019-01-14
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:7
  • 你这个有没有检查过缓存空间够不够啊,并且这种测试图片数据发送的DEMO应该多找几个不同大小的图片样本,看看它传输变慢的规律是怎样的,是逐渐变慢还是只变慢一次。

    • 发布于2019-01-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 有可能是缓冲池满了,以太网发送速率一般要大于图像采集速率才行的,不然一定会出现缓冲池满的情况
    • 发布于2019-01-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能是发送缓存池满了,把图片打包成几个buff分开发出去试试,
    • 发布于2019-01-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能是发生的缓存满了,也就是你发的太快了
    • 发布于2019-01-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 发送频率有点快啊,感觉是路由器限制了

    • 发布于2019-01-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 要检查你的缓存是不是已经满了,重新检测一下
    • 发布于2019-02-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 是你的缓存数据的问题,首先要检查你的缓存数据是不是没清空
    • 发布于2019-02-23
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32H743通过以太网连续发送图片,一段时间后,发送慢