CH395设置为TCP客户端,通过电脑测试软件JPerf,测出来带宽速度很慢,请问可能是什么原因?

icon_rar.gifC_8283协议(全功能、全串口)1.2 - CH395移植_TCP_DHCP.rar

icon_jpg.gif屏幕截图 2022-08-26 163502.jpg

icon_jpg.gif屏幕截图 2022-08-26 163206.jpg

CH395设置为TCP客户端,通过电脑测试软件JPerf,测出来带宽速度很慢,只有5.62Kbits/sec左右,请问可能是什么原因导致的?

我是直接在死循环里面通过CH395SendData(0,MAC_addr,sizeof(MAC_addr));这个函数发送MAC地址来测的,请问这样测有什么问题吗?

测试网络带宽一般使用UDP数据打流。此外程序里有几个比较明显的问题:

(1)CH395SendData在主循环里一直调用,TCP下这个函数的使用需要确认TCP处于连接状态。

(2)CH395SendData这个函数使用之前要确认Send_Buff_Free这个终端标志要产生。

程序里一次发送六个字节,您看一下您的处理器一个循环要多长时间。



请问UDP数据打流是如何实现的?


请问你知道如何使用CH395SendData这个函数发送类似“iperf -c 192.168.1.103”(服务端IP)这样的命令吗?


iperf在Linux下只是一条命令,但命令底层实际是包含了以实际数据带宽为基准的流量数据通信测试。CH395没内置这种命令驱动,上层实际数据量达不到命令格式所需的速率。

一般395可用作被测试设备。


谢谢解答,我还有另一个疑问,请问CH395处于TCP客户端模式,我想在发送缓冲区空闲SINT_STAT_SENBUF_FREE时,向服务器发送MAC地址进行测试,但获取socket 的中断状态一直为SINT_STAT_CONNECT,请问如何解决?


您好,发送缓冲区中断只有在有完成数据传输后才会触发,您可以在链接中断里面加上一个发送函数,这样后续就可以触发发送缓冲区空中断。


只有登录才能回复,可以选择微信账号登录