利用沁恒赤菟V307实现八串口服务器

网友投稿 268 2022-11-15

利用沁恒赤菟V307实现八串口服务器

串口服务器,提供串口转网络的功能,将串口转换成TCP/IP协议网络接口,实现串口和网络接口的数据双向透明传输,扩展串口设备的通讯距离。

基于八个UART接口、10M以太网的强大外设,通过单片赤菟V307即可实现八串口服务器,每个串口独立工作。

网口端设计网口端采用的是开源的轻量级TCP/IP协议栈LwIP,可以轻松实现赤菟V307网口端的TCP、UDP通信。

例程中默认开启的是TCP Client模式,采用单向循环链表的方式接收TCP Server发过来的数据。

当串口端接收到数据时,直接启动TCP Client的发送函数,并更新队列的读指针。

串口端设计

根据网口接收端的链表中的数据地址及长度,启动串口端的发送DMA进行数据发送。

多任务设计

通过RT-Thread操作系统,创建两个线程,分别为用于网口端接收数据的“eth_rev”线程和用于串口端接收数据的“uart_rev”线程。

采用时间片轮转方式进行这两个线程的调度,当“eth_rev”线程收到网口端的数据时,启动串口端的发送DMA将数据通过串口发送出去;当“uart_rev”线程收到串口端的数据时,启动网口端的发送函数将数据通过网口发送出去,这样就实现了串口和网络接口的数据双向透明传输。

验证

串口默认波特率为115200,实测八个串口独立工作,可以实现收发10+KB/s的速度。

原文标题:尝鲜赤菟CH32V307-基于RT-Thread和LwIP实现八串口服务器

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:修订版 | 目标检测:速度和准确性比较(Faster R-CNN,R-FCN,SSD,FPN,RetinaNet和YOLOv3)...
下一篇:DataOps 不是工具,而是帮助企业实现数据价值的最佳实践
相关文章

 发表评论

暂时没有评论,来抢沙发吧~