简体   繁体   English

如何获取支持高波特率的串口终端软件?

[英]How to get serial terminal software supporting high baudrate?

I'm working on communicating embedded device via serial port for debug.我正在通过串行端口与嵌入式设备进行通信以进行调试。 The device supports only 1843200 bps for baud rate.该设备仅支持 1843200 bps 的波特率。

But, my usual terminal softwares (minicom, Teraterm) don't look like supporting such high baud rate as they are.但是,我常用的终端软件(minicom、Teraterm)看起来并不支持这么高的波特率。

What I want to do using such terminal software is:我想使用此类终端软件做的是:

  • sending command string interactively交互发送命令字符串
  • transporting file to the device传输文件到设备

Thank you.谢谢你。

As I commented, I solved the problem myself and post it again.正如我评论的那样,我自己解决了问题并再次发布。

Teraterm... high baudrate can be set from CUI (command line), not GUI (926100, max). Teraterm... 可以从 CUI(命令行)而不是 GUI(最大 926100)设置高波特率。

teratermpro.exe /BAUD=1843200 /C=1 teratermpro.exe /BAUD=1843200 /C=1

PuTTy... Using "plink.exe" works with options like below: PuTTy... 使用“plink.exe”适用于以下选项:

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

But, you could have to stop "plink" once by Ctrl-c and type like below:但是,您可能必须通过 Ctrl-c 停止“plink”一次并键入如下:

plink.exe -serial com1 -sercfg 1843200,8,n,1,N < [file path] plink.exe -serial com1 -sercfg 1843200,8,n,1,N < [文件路径]

Regarding Linux, I didn't find the way.关于Linux,没找到方法。 It could be that the proper driver should be installed.可能是应该安装正确的驱动程序。

@thebusybee Thank you for your kind advice! @thebusybee 感谢您的友好建议!

What baudrate that is supported by a certain UART device depends on hardware:某个 UART 设备支持的波特率取决于硬件:

  • How high the clock source for the UART clock go. UART 时钟 go 的时钟源有多高。
  • What prescalers/divisors the UART hardware support when translating the clock source to it's own hardware peripheral clock.将时钟源转换为自己的硬件外围时钟时,UART 硬件支持的预分频器/除数。

Some general rule of thumb is that divisors should not give more than 3% inaccuracy from the requested baudrate.一些一般的经验法则是,除数的误差不应超过所要求的波特率的 3%。 More than that and you risk spurious data corruption, framing errors and similar.不仅如此,您还面临虚假数据损坏、框架错误和类似情况的风险。

Therefore software might limit the number of supported baudrates, not to correct higher ones that will be wildly inaccurate anyway.因此,软件可能会限制支持的波特率的数量,而不是纠正那些无论如何都会非常不准确的更高的波特率。

Needless to say your embedded device also needs good clock accuracy, so if you are clocking it from something like an internal RC oscillator while running UART at 1.8MHz, you are very likely doing it wrong.毋庸置疑,您的嵌入式设备也需要良好的时钟精度,因此,如果您在以 1.8MHz 运行 UART 时从内部 RC 振荡器之类的设备为其计时,您很可能做错了。

In ttermpro you can manually set the desired baudrate even if it does not show up in the drop-down list.在 ttermpro 中,您可以手动设置所需的波特率,即使它没有出现在下拉列表中。 Just type it into the field.只需将其输入字段即可。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM