你好,这个美好的社区。
我使用带有 MX Linux 作为操作系统的计算机。我想使用串行/UART 控制台访问设备(具体来说,该设备是由 74 系列 IC 制成的最小计算机。请参阅https://github.com/slu4coder/Minimal-UART-CPU-FLASH-Edition)。为了从计算机连接到设备,我在硬件上使用带有(正版)FTDI FT232RL 芯片的 USB 到 UART 转换器。软件方面,我使用 minicom。
它通常有效,但我遇到了一个非常具体的问题:
该设备需要换行信号 (LF) 作为换行信号(它在其 PCB 丝印上这样说)。我无法让 linux+minicom 在 RETURN 或 ENTER 上发送 LF。它将发送一个回车符 (CR)。
如果我通过 USB 到 UART 转换器从我的计算机连接到设备并在我的计算机上启动 minicom,它将向我显示设备串行控制台 - 到目前为止,一切都很好。
但是如果我在 minicom 中输入设备命令并按 RETURN 或 ENTER,设备将不会处理它们。
但是,如果我在我的命令之后使用 CTRL+J 而不是 RETURN 或 ENTER,它会给出一个 LF,它可以正常工作。同样,如果我不使用标准输入/键盘 + minicom,它也可以工作,而是从 bash 发送命令,如下所示:
echo foo > /dev/ttyUSB0
我试图用
sudo stty -F /dev/ttyUSB0 icrnl
但无济于事。
我相信这原则上是正确的命令,但我也尝试了其他命令,只是为了 100% 确定,比如:
sudo stty icrnl
sudo stty ocrnl
sudo stty cooked
sudo stty raw
sudo stty sane
但他们也没有帮助。
我还尝试使用 minicom 设置菜单中的“添加换行符”(A)选项让 minicom 本身在 RETURN 或 ENTER 上发送 LF 而不是 CR。这也没有帮助。
你对如何解决这个问题有什么建议吗?这真的不是一个关键问题,因为我总是可以使用 CTRL+J 而不是 RETURN 或 ENTER,但是随着时间的推移会变得有点不方便。
谢谢!
(如果我对问题的描述不是很好,很抱歉 - 业余爱好者和第一次在这里发帖。如果您需要更多信息或图片,请告诉我。)