【问题标题】:How to get serial terminal software supporting high baudrate?如何获取支持高波特率的串口终端软件?
【发布时间】:2021-12-08 09:32:05
【问题描述】:

我正在通过串行端口与嵌入式设备通信以进行调试。该设备仅支持 1843200 bps 的波特率。

但是,我常用的终端软件(minicom、Teraterm)看起来不像支持这么高的波特率。

我想用这样的终端软件做的是:

  • 以交互方式发送命令字符串
  • 将文件传输到设备

谢谢。

【问题讨论】:

  • 您是否检查过您的硬件及其驱动程序是否支持此波特率?这不是一个常见的值,但一些 UART 在正确设置时可以使用它。然而,司机也参与其中。
  • "1843200 kbps" = 1.8 千兆比特每秒!!!
  • @thebusybee 谢谢你的建议。是的,我已经安装了适用于 Windows 的驱动程序。关于 Teraterm,如此高的波特率似乎并不能从 GUI 中选择如此高的波特率。但是,如果使用参数从命令行启动它是可用的(例如 teratermpro.exe /BAUD=1843200)。
  • @sawdust 哎呀!超高波特率串口!
  • 您介意发布您的发现作为答案吗?这将有助于其他人在同一问题上寻求帮助。您可能想阅读一些help center 以了解该网站的运作方式。

标签: terminal serial-port embedded


【解决方案1】:

正如我评论的那样,我自己解决了问题并再次发布。

Teraterm ... 可以从 CUI(命令行)而不是 GUI(926100,最大值)设置高波特率。

teratermpro.exe /BAUD=1843200 /C=1

PuTTy ... 使用“plink.exe”适用于以下选项:

plink.exe -serial \.\COM1 -sercfg 1843200,8,n,1,N

但是,您可能必须通过 Ctrl-c 停止“plink”一次并键入如下:

plink.exe -serial com1 -sercfg 1843200,8,n,1,N

关于Linux,我没有找到方法。可能是应该安装正确的驱动程序。

@thebusybee 谢谢你的好意!

【讨论】:

    【解决方案2】:

    某个 UART 设备支持的波特率取决于硬件:

    • UART 时钟的时钟源有多高。
    • 在将时钟源转换为自己的硬件外围时钟时,UART 硬件支持哪些预分频器/除数。

    一些一般的经验法则是,除数的误差不应超过所请求波特率的 3%。不仅如此,您还面临虚假数据损坏、框架错误和类似情况的风险。

    因此,软件可能会限制支持的波特率数量,而不是纠正更高的波特率,否则无论如何都会非常不准确。

    毋庸置疑,您的嵌入式设备也需要良好的时钟精度,因此如果您在以 1.8MHz 运行 UART 时使用内部 RC 振荡器等设备为其提供时钟,那么您很可能做错了。

    【讨论】:

      猜你喜欢
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 2011-11-30
      • 2016-01-11
      相关资源
      最近更新 更多