minicom 如何“永久”将传入的换行符 (\n) 转换为 CR+LF?

13 serial-port newlines minicom

我有一个微控制器设备,它通过 USB 连接的串行端口发送换行符终止的字符串,并且(到目前为止)我使用minicom2.6 版从/dev/ttyACM0. 我已经设置了换行的终端应用程序,但我希望它在从我的串行设备接收换行符时转到下一行的开头。可以[以及如何]minicom做到这一点?

编辑:我也尝试过我知道的方法,例如stty /dev/ttyACM0 ...,inlcrand screen /dev/ttyACM0 ...,inlcr,我知道可以选择将传入的换行符转换为回车+换行符(CR+LF),但这些方法都不起作用。我也尝试过其他选项(例如ocrnl,以防我的逻辑错误,nl以及-nl),但都不起作用,我不知道为什么。

啊,我正在运行 Manjaro 16.06-rc1。

小智 12

花了我足够长的时间,但我终于来了!我不得不下载 minicom 源代码以了解如何避免不断按Ctrl+ ZU...的麻烦。

minicom将其参数存储在配置文件中,默认为$HOME/.minirc.dfl. 将以下行放在这封信中

pu addcarreturn    Yes
Run Code Online (Sandbox Code Playgroud)

现在minicom为所有传入行添加回车符。我不知道为什么它一开始没有保存该选项及其配置文件,但是,哎呀,我现在不在乎!

请注意,后面的每个选项都pu必须恰好为 16 个字符,并在右侧填充空格。


小智 6

答案:
minicom 中Ctrl+A Z。这将显示菜单。然后按U("Add Carriage Ret"),minicom会自动将CR符号添加到每个LF符号中。

您可能需要再次执行此操作以关闭此功能。

变通方法:
尝试发送"\r\n"从微控制器终止的线路。
\r表示回车(ASCII 代码 13 或 0xd)
\n表示换行(ASCII 代码 10 或 0xa)