配置minicom使用硬件流控制

10

需要协助测试带硬件流控的UART实现,用于OMAP L138。我使用minicom来模拟串行链路的另一端,我正在寻找如何配置它的洞见。

我有一个简单的应用程序,可以从OMAP通过UART发送消息到minicom。如果OMAP和minicom都未配置使用硬件流控,则可以按预期工作。当我打开硬件流控时,在minicom上看不到任何输出。

以下是我遵循的步骤列表:

  • 配置minicom使用硬件流控(Ctl A-O打开minicom串口设置菜单,然后按F启用硬件流控)。
  • 使用stty启用RTS/CTS握手:stty -F /dev/ttyS1 crtscts。使用stty -F /dev/ttyS1 -a命令可以确认已启用crtscts。

以上两个更改确保在终端程序和UART驱动程序中启用了硬件流控。OMAP上的UART也已配置为使用硬件流控。

但是,上面列出的对minicom的更改似乎不足以使流控正常工作。在启动应用程序后,OMAP的RTS(请求发送)信号变低,表明它想要发送数据到minicom。如果正确配置,则minicom应将OMAP的CTS(清除发送)信号变低,并开始接受数据,直到达到指定的接收缓冲区阈值。但这并没有发生。OMAP的CTS输入始终保持高电平。只是为了好玩,我试图将OMAP的RTS短接到CTS上,结果预期的消息确实出现在minicom上!以下是显示两者连接方式的图像。

Omap to minicom connections

根据我的尝试,看起来我在配置minicom时漏掉了一些东西。欢迎提出任何建议。


那里面有问题吗? - Dan
1
看看使用stty是否可以将PC的CTS线路设置为低电平。如果可以,那么这是minicom的问题,否则就是驱动程序/硬件问题(甚至可能是缺少足够导线的电缆)。你可能想编写自己的程序,因为让minicom始终发出未准备好信号可能很困难 - 在现代计算机上,你可能需要一个故意忽略及时读取()的程序。 - Chris Stratton
只需像 kill -STOP $(pidof minicom) 一样发送停止信号即可。要继续,请使用 CONT - Turbo J
@Dan 这是更多的...这是我到目前为止尝试过的...一切看起来都还好吗 :) - dinesh
在@ChrisStratton的提示下,我检查了连接,并发现RS232到TTL适配器板没有CTS和RTS线路,但将它们带到板子上的跳线。连接跳线后,一切都按预期工作。 - dinesh
显示剩余2条评论
1个回答

3
按下CTRL-A,Z,O,串口设置以访问Minicom的流控制设置。

有没有一个可以传递给minicom的标志,以避免每次都要浏览菜单? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接