通过 /dev/ttyS0 (RS232) 发送字符串/单词/字符

通过 /dev/ttyS0 (RS232) 发送字符串/单词/字符

我正在尝试将字符串发送到串行通信端口 /dev/ttyS0 。在 Windows 机器上,我使用 Turbo Basic 程序,该程序已经运行了很多年。我可以发送“*80”,它会打开我的远程 Micro 上的灯。我可以发送“*81”将其关闭等等。如何在“C”或“bash”shell 中“发送”这些字符串?我已将用户添加到“dialout”组,以便无需“root”访问权限即可运行它。

通信设置为 2400 N 8 1,并且已设置且流量控制关闭。这就是所附 Micro 所需要的。

答案1

如果串口设置正确,那么就很简单

echo '*80' >/dev/ttyS0

前提是您有权写入设备文件。如果设备不希望命令后有换行符,请使用echo -n '*80' >/dev/ttyS0

如果需要更改串口设置,可以使用setserial。或者,您也可以使用可以与串行端口交互的众多程序之一,例如

screen /dev/ttyS0 2400,cs8,-ixon,-ixoff

然后输入*80,或使用小型计算机或者微电脑公司或者 …

答案2

大多数 Linux 或 BSD 都会有一个minicom可用的软件包,即与串行设备通信的工具箱。

相关内容