使用官方提供的案例,烧录测试,发现串口发送数据,总是被分割成两个部分,一个是首字符,一个是余下的部分,不知道应该改动哪一部分,才能正常转发成完整的字符串。
只改动了默认的local ip地址,串口的波特率,其他没有修改
您好,例程中8个串口都用于实现8串口网络服务器通信了,建议程序中不要加打印。若要使用打印功能,注意需要修改相关宏定义,下帖是关于8串口服务器例程的使用介绍,可以参考一下。
https://www.cnblogs.com/liaigu/p/18025036
你好,这个打印是后面加的,用usart1进行测试的时候,发现串口1发送一条数据后,网口端却收到了两条信息,一个是首字符,一个是后面的部分,才加了打印进行调试查看的。
官方案例中波特率是921600,当测试中降低波特率230400或者9600后,字符串被分割成更多次,这个应该和波特率设置,就是串口传输速度有关,当通讯速率降低后,每次接收间隔触发了中断,这个中断的时间间隔有没有办法设置,项目中移植到其他项目中,不需要高速率转发
您好,代码中判断串口dma有数据就会调用网络发送,没有判断是否为完整一包,所以会出现这种分割的情况,这是为了提高传输效率,想收完整一包的话,可以用串口空闲中断尝试一下,也可以自定义帧头帧尾,在上位机方判断是否为完整一包