[STM32F4] stm32f407中uart转rs232再转usb时通信卡顿,丢包?

[复制链接]
2698|14
 楼主| 地瓜patch 发表于 2025-2-24 21:36 | 显示全部楼层 |阅读模式
机箱预留db9接口与PC通信。stm32f407的uart1与pc采样应答式通信。
采用uart转usb到PC时,通信速率如下(快速)


采用usart转rs232转(绿联)232-usb延长线到电脑,通信速率如下(慢速)


用PC-(绿联)232usb延长线-rs232-uart-uart-rs232-绿联)232usb延长线-pc,这样通信速率很快,没有丢包。

三天了还么找到原因。请教高手





LcwSwust 发表于 2025-2-25 08:19 | 显示全部楼层
建议示波器看波形,估计是232芯片的速度受限。
 楼主| 地瓜patch 发表于 2025-2-25 11:09 | 显示全部楼层
LcwSwust 发表于 2025-2-25 08:19
建议示波器看波形,估计是232芯片的速度受限。

用PC-(绿联)232usb延长线-rs232-uart-uart-rs232-绿联)232usb延长线-pc   这样做了个环路,测试232的速度,正常收发,速度设为5ms
LcwSwust 发表于 2025-2-25 11:39 | 显示全部楼层
地瓜patch 发表于 2025-2-25 11:09
用PC-(绿联)232usb延长线-rs232-uart-uart-rs232-绿联)232usb延长线-pc   这样做了个环路,测试232的 ...

相当于把单片机程序排除,让单片机的RXD与TXD短接,电脑发的数据接收回来也一样?
那说明硬件应该没问题。

波特率多少还没说?

建议做两个简单测试:
1.PC定时发送数据帧,单片机收到一帧数据就让某个IO翻转,
示波器测量RXD1与这个IO,看是不是收到某帧数据时IO没翻转。
2.单片机主动定时发送数据帧,让帧中的某个数据每帧加1,PC只接收,看是否一致。

 楼主| 地瓜patch 发表于 2025-2-25 16:08 | 显示全部楼层
LcwSwust 发表于 2025-2-25 11:39
相当于把单片机程序排除,让单片机的RXD与TXD短接,电脑发的数据接收回来也一样?
那说明硬件应该没问题 ...

波特率57600
 楼主| 地瓜patch 发表于 2025-2-25 17:11 | 显示全部楼层
LcwSwust 发表于 2025-2-25 11:39
相当于把单片机程序排除,让单片机的RXD与TXD短接,电脑发的数据接收回来也一样?
那说明硬件应该没问题 ...

更换了一条z-tek数据线,速率提高不少,但还达不到usb的速率
 楼主| 地瓜patch 发表于 2025-2-25 17:14 来自手机 | 显示全部楼层
本帖最后由 地瓜patch 于 2025-2-25 19:32 编辑

测试uart——RX数据线上的信号,如下

一,z-tek数据线  uart转rs232转usb 一秒数据
IMG_20250225_171356.jpg IMG_20250225_165140.jpg


二,绿联数据线 uart转rs232转usb 一秒数据

IMG_20250225_171413.jpg IMG_20250225_165314_edit_132933779191769.jpg


三,uart转usb 一秒数据

IMG_20250225_171723.jpg IMG_20250225_171711.jpg


四,用PC-(绿联)232USB延长线-RS232-UART-UART-RS232-(Z-TEK)232USB延长线-PC

IMG_20250225_174439.jpg IMG_20250225_174526.jpg IMG_20250225_174345.jpg

LcwSwust 发表于 2025-2-25 17:20 | 显示全部楼层
地瓜patch 发表于 2025-2-25 17:14
测试uart——RX数据线上的信号,如下

z-tek数据线  uart转rs232转usb 一秒数据

这波形明显不对哦,TTL波形?低电平至少得低于1V.
 楼主| 地瓜patch 发表于 2025-2-25 17:31 | 显示全部楼层
LcwSwust 发表于 2025-2-25 17:20
这波形明显不对哦,TTL波形?低电平至少得低于1V.

测量uart-rx上的波形,
LcwSwust 发表于 2025-2-25 18:34 | 显示全部楼层
地瓜patch 发表于 2025-2-25 17:31
测量uart-rx上的波形,

检查下看是不是两个TXD(推挽输出)信号接同一个RXD了。
 楼主| 地瓜patch 发表于 2025-2-25 19:33 | 显示全部楼层
LcwSwust 发表于 2025-2-25 18:34
检查下看是不是两个TXD(推挽输出)信号接同一个RXD了。

七楼四次测试,一二数据不正常,三四数据均正常
LcwSwust 发表于 2025-2-25 20:12 | 显示全部楼层
地瓜patch 发表于 2025-2-25 19:33
七楼四次测试,一二数据不正常,三四数据均正常

别管数据了,波形整好再说
 楼主| 地瓜patch 发表于 2025-2-25 20:29 | 显示全部楼层
LcwSwust 发表于 2025-2-25 20:12
别管数据了,波形整好再说

嗯,一二比三四少好多波形,都不知道咋整型
 楼主| 地瓜patch 发表于 2025-2-26 09:56 来自手机 | 显示全部楼层
更换rs232模块,数据还是丢失很多
IMG_20250226_094547.jpg
IMG_20250226_095444_edit_155657914394046.jpg
 楼主| 地瓜patch 发表于 2025-2-26 15:25 来自手机 | 显示全部楼层
最新测试进展是,在程序main一开始while循环发一组数据,没加延时。接ttl转rs232模块再接绿联的rs232转usb延长线到电脑上,速度很快。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

1929

主题

15216

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部