【问题标题】:Cannot send character with minicom无法用 minicom 发送字符
【发布时间】:2011-04-24 05:12:42
【问题描述】:

我正在使用 minicom 通过串行链路连接到目标(sparc 处理器的 UART 链路)。 使用 gtkterm 或 cutecom,我可以连接、读取和发送字符。它们的唯一问题是它们都在每个 LF 字符后插入空行,并且: -gtkterm 无法将输出记录到文件中 -cutecom 在将输出记录到文件后不会“刷新”(它会延迟,并且仅在每 16k 组数据后刷新)

基于控制台的 Minicom 可以解决这些问题(并且它不会插入空行...),但我仍然无法发送任何字符,不明白为什么! 当我按下一个键(例如,“0”+ Return)时,被写入(如果我启用本地回显),但没有任何反应(当它与 gtkterm 和 cutterm 一起使用时!!)。 在我的程序中,我使用以下内容阅读:

`r = scanf("%d", &option);`

使用调试器,我看到程序永远不会越过这一行...

有人知道吗?

【问题讨论】:

  • 基本上,远程端的应用程序永远不会收到“0”+Return,而当我用 gtkcom 或 cutecom 做同样的事情时,它会收到。
  • 好的。 1) 为什么 minicom 是基于控制台的,它会解决这些问题?我不明白这种联系。 2) minicom 中可能配置错误,例如波特率。输入 CTRL-A,然后输入 O,进入 minicom 配置模式。 3) 这不像是程序员的问题,更像是 superuser.com 甚至 serverfault.com 的问题。

标签: c unix terminal serial-port


【解决方案1】:

重新启动我的 Linux 机器为我解决了这个问题。

Minicom 之前一直在工作,然后当我的同事不小心关闭了电路板时,它停止了输入。我尝试了一个小时。当没有任何工作时,我重新启动了我的电脑,瞧它开始工作了。

【讨论】:

  • 有一句法语押韵的谚语非常适合这种情况:dans le doute, reboot ?!这意味着:如有疑问,请重新启动!
【解决方案2】:
  1. 在设置端口下将硬件流控制设置为否会对您有所帮助。(minicom -s ;进入串行端口设置;最后两行是硬件和软件流控制;只需将两者都设置为否)
  2. 开启回显(ctrl + A 开启minicom后,再按E),看看你发的东西是不是也不错。

【讨论】:

    【解决方案3】:

    您可以尝试在 minicom 配置的串行端口设置中将“硬件流控制”选项设置为“否”。

    在 minicom 文档中检查该选项的含义 :)

    【讨论】:

    • 这实际上解决了我的问题。波特率和设置中的一切都是正确的,但这个选项很小。谢谢。
    • 解决了我的问题。谢谢
    • 解决了我在 beaglebone black 上使用 u-boot 的问题。
    【解决方案4】:

    本地回声没有说明通过网络传输的内容。它也可能与 scanf() 如何解释换行符有关。尝试使用getchar() 创建一个程序,看看它是否有任何输入,尤其是当您在不同的终端仿真器中按 Enter 时会发生什么。

    检查所有波特率等设置是否在 minicom 中正确设置。查看minicom的命令行参数,这样就可以直接指定选项了。

    【讨论】:

    • 调整波特率,我使用 wvdialconf 为我修复了它
    猜你喜欢
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 2015-02-11
    • 1970-01-01
    相关资源
    最近更新 更多