自动检测工作设备的UART波特率

问题描述 投票:0回答:4

我有一个设备正在通过 UART 不断发送数据。

我正在尝试使用基于 Windows 的 PC 上的终端应用程序来阅读它。问题是我不知道设备发送数据的波特率。 我以较高波特率获得的数据没有任何意义,因此我将其范围缩小到小于或等于终端上可用的标准波特率中的 600。

有没有任何软件可以检测波特率或使用任何微控制器的方法?

terminal microcontroller uart baud-rate hyperterminal
4个回答
3
投票

不,如果您想快速完成,则不需要。十年来执行此类任务表明,示波器甚至廉价的基于 USB 的逻辑分析仪是您的最佳解决方案。这还不是软件问题,而是信号检测问题。使用正确的仪器,您应该能够在几分钟内解决这个问题。

我假设您只是做这个练习,因为您无法找到传输部分的数据表。如果您手头有数据表,这将解决这个问题,或者至少建议您应该尝试的可能的波特率。


1
投票

旧线程,但我认为它可能有用。

我所做的就是编写一个 python/pyserial 脚本,该脚本不断循环不同的波特率(300 - 115200),并监听和过滤不是垃圾的字符串。一些很容易决定的事情,假设但会是很好的清晰文本,这样你就有了正确的价格。 它工作得很好,并且似乎找到了正确的速率,速度足够快,可以进入我的 AP 的引导加载程序。


0
投票

我尝试了 Realterm 软件,发现数据以 300 波特率传输,无奇偶校验,8 个数据位和 1 或 2 个停止位。对于其余选项,我在软件中收到帧错误和中断条件。谢谢大家...


0
投票

我通过重复发送一个字符来确定(验证)波特率,该字符设置了一位(0x08)并将其捕获在范围内。 (velleman HPS10) 将标记设置到单位方波的边缘,并显示频率。正在确定我是否有适当的 DMX 波特率 250,000,事实证明

© www.soinside.com 2019 - 2024. All rights reserved.