PC使用usart的高波特率接收错误的数据

时间:2014-08-10 08:44:25

标签: stm32 hyperterminal usart

我想使用stm32f103 usart的4Mb波特率。如何检查PC中收到的数据是否正确?我使用超级终端,但在其设置中没有4Mb波特率,当我运行我的代码时,我收到错误的字符。但是低波特率,如115200b数据正确接收。

2 个答案:

答案 0 :(得分:1)

如果发送器和接收器没有以相同的速度发送,接收器将错误地读取数据。每个字节都有一个同步接收器的起始位,其余位由时间决定。

典型的PC RS-232串行端口最高可达115200 bps。您的PC很可能无法处理4 Mbps的速率。我建议使用115200或更低的速度。

如果您正在设备之间进行通信并且需要更高的速度,并且只需使用PC进行调试,则可以更改速度以进行调试,并在通信正常工作后将其设置得更快。或者,您可以使用逻辑分析仪 - 手动操作可能很繁琐,但有些可能具有读取串行数据的功能。

答案 1 :(得分:0)

如果您有两个stm32f19模块,请使用USART以4Mb连接它们,然后发送一个带校验和的数据块(甚至可以比较的硬编码块)。在接收单元上,确认校验和,或比较数据以查看链接是否有效。