使用CH32V307设计多串口的服务器能否实现?

能不能使用CH32V307芯片,设计一个TCP SERVER应用,建立8个SERVER 串口1-串口8分别使用1001-1008 八个端口,单片机检测到哪个端口接入了Clinet,就讲对应的串口上接收到的数据发送到该连接。串口波特率工作在460800 bps,网口10M应该速度满足吧?请您指教下,能不能这么做,谢谢!

另外,假设每个串口容许接入两个连接,单片机同时把8路串口(460800bps)数据发送给16个client,单片机能否处理的过来。如果不行的话,做几个串口合适,两个串口同时发送给4个client呢?


您好,您的第一个需求功能上可以实现,V307EVT的ETH中有类似的例程,您可以参考一下。第二个需求实现上有点困难,首先,串口+16个socket的功能,在ram资源上很吃紧。其次,460800bps的波特率每秒要传输45KB的数据,那16个socket每秒要发720KB的数据量,这是在网络条件良好且没考虑数据处理时间等条件下的速度,只能说理论上是可行的,您有兴趣的话可以尝试一下。另外如果资源比较紧张的话,可以把TCP_MSS配置小一点,会节省点空间,不过速度上会有点影响。


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