我正在尝试在 linux 上使用 USB 到串行转换器与设备通话。驱动程序正在运行,设备存在于 /dev/ttyUSB0。
有一个奇怪的问题(用空调制解调器电缆检查到另一台计算机):无论我使用什么程序连接到设备(腻子、minicom、屏幕),它们都会在输入时发送 CR (\r)。我(和我的设备)在输入时期望 LF (\n)。
当我使用控制台发送命令时 - 它发送一个 LF:
# echo Hello World > /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)
结果为“Hello World\n”。我还编写了经典的 c hello world 程序(printf("Hello, world!\n");)并将输出重定向到 /dev/ttyUSB0 - 在该行的另一端也给了我一个“Hello world\n” .
但是所有其他终端程序在输入时都会发送一个 \r 。
这里发生了什么?