0

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

4

2 回答 2

1

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

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

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

于 2014-08-20T16:30:26.347 回答
0

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

于 2014-08-10T09:15:22.030 回答