是的,你可以使用socat来模拟一个串口。
你需要使用socat的PTY地址类型:
PTY: Generates a pseudo terminal (pty) and uses its master side. Another
process may open the pty's slave side using it like a serial line or
terminal.
最简单的选择是:
socat PTY,link=./virtual-tty,raw,echo=0 -
让您正在测试的应用程序打开virtual-tty
。应用程序的输出将打印到控制台。您输入的文本将发送到您的应用程序。
如上所述,PTY 地址类型创建一个
peudo-terminal。该link
选项在伪终端和给定文件之间创建软链接。您可以选择任何您想要的文件名。如果没有软链接,您将需要打开设备,并且很难确定正确的设备。 raw
将伪终端置于原始模式。您通常需要这个,因为您不需要任何特殊的终端处理选项。 echo=0
禁用回声模式。
如果您有(或创建)一个模拟在 Arduino 上执行的代码的应用程序,您也可以通过 socat 连接它。如果您的模拟器通过 stdin/stdout 进行通信,则使用以下命令:
socat PTY,link=./virtual-tty,raw,echo=0 EXEC:simulator-command
以上将标准输入/标准输出连接simulator-command
到伪终端。
如果您的模拟器也通过串行端口进行通信,则使用 PTY 命令两次:
socat PTY,link=./arduino-sim,raw,echo=0 PTY,link=./virtual-tty,raw,echo=0
打开你的模拟器arduino-sim
。