我现在使用的平台是ZYNQ了,不是STM32了。但是使用的也是ucos,网络协议栈用的是uc tcpip。STM32的时候是用W5500来通信的。
ZYNQ上面用的是千兆网。
但是实际操作的时候发现好像速度还不如W5500啊。
说下我的情况,我是用UDP给上位机软件发数据包,一个数据包最大1000字节,一帧数据可能1-20KB。不停的连续发送。
不加延时的时候,一次发送17个1000字节的数据包,后面的几个会丢掉,可能是我缓冲区的设置问题,因为是非阻塞的。
然后我在网络助手里面看到发上来的数据,固定的能收到9个包,合计9000字节。
然后这9个包用了60ms的时间,这个时间也太长了吧。我每个发送加5ms的延时,也是差不多这个时间。因为是非阻塞的,底层是库也看不到。
所以我的疑惑是,是不是UDP包不能发得很频繁,好比1ms发一个UDP包。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
udp经过的层数太多,不适合实时性要求比较高的场合。
一周热门 更多>