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

Terminal 自动检测工作设备的UART波特率,terminal,microcontroller,uart,baud-rate,hyperterminal,Terminal,Microcontroller,Uart,Baud Rate,Hyperterminal,我有一个通过UART连续发送数据的设备 我试图在基于Windows的PC上使用终端应用程序读取数据。问题是我不知道设备发送数据的波特率。 我在更高波特率下得到的数据没有任何意义,所以我把它缩小到小于或等于600,这是终端上可用的标准波特率 是否有任何软件来检测波特率或使用任何微控制器的方法 不,如果你想快点完成,就不要。十年来从事这类工作的人都说,示波器,甚至是便宜的基于USB的逻辑分析仪,都是最好的解决方案。这还不是软件问题,而是信号检测问题。你应该能够在几分钟内用正确的仪器把它清理干净 我假

我有一个通过UART连续发送数据的设备

我试图在基于Windows的PC上使用终端应用程序读取数据。问题是我不知道设备发送数据的波特率。 我在更高波特率下得到的数据没有任何意义,所以我把它缩小到小于或等于600,这是终端上可用的标准波特率


是否有任何软件来检测波特率或使用任何微控制器的方法

不,如果你想快点完成,就不要。十年来从事这类工作的人都说,示波器,甚至是便宜的基于USB的逻辑分析仪,都是最好的解决方案。这还不是软件问题,而是信号检测问题。你应该能够在几分钟内用正确的仪器把它清理干净


我假设您只是在做这个练习,因为传输部分是您找不到数据表的部分。如果您手头有一份数据表,这将澄清这一点,或者至少建议您应该尝试的可能波特率。

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

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

我所做的事情是编写一个python/pyserial脚本,该脚本在不同的波特率300-115200之间循环,并侦听和过滤非垃圾字符串。一些很容易决定的东西,假设但是会是很好的明文,所以你有正确的费率。
它工作得很好,似乎找到了正确的速率,速度快得足以esc进入AP的引导加载程序。

使用任何微控制器可能都不行。如果该引脚由gpio共享,您可以在状态更改和测量时轮询/中断,最小的测量值应给出波特率。或者,你可以只扫描频率,如果你得到一个命中它可能仍然是错误的,可能是2x,3x,4x等太慢。可能很难做到,仅通过调整波特率就可以正确排列,还需要有一个数据模式帧格式等,以便在帧错误消失时查找。如果您谈论的是特定的程序/设备,只需将其放在示波器上,或使用微控制器使用gpio和计时器测量脉冲,然后从那里算出波特率。不仅波特率可能不匹配,数据位、奇偶校验位或停止位的数量也可能不匹配。使用示波器建立波特率后,您只需尝试各种格式组合。通常可能有7或8个数据位、奇偶校验位或无奇偶校验位以及1或2个停止位。因此,有8种配置需要使用终端仿真器进行测试。