linux - 从 Linux 命令行写入串行端口

在 Windows 中,我可以使用以下命令与串行端口设备通信:

mode com1: baud=9600 data=8 parity=n stop=1
copy con com1
alt+18alt+2ctrl+z

设备开始请求的操作。

当我尝试从独立的 Debian 上完成相同的操作时盒子或来自 Debian VirtualBox同一台 Windows 机器的实例,到目前为止我没有运气。

下面是等效的 Linux 命令(至少我是这么认为的):

stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb
echo '\x12\x02' > /dev/ttyS0

什么都没有发生。

我该怎么做?

最佳答案

如果要使用十六进制代码,则应添加 -e 选项以启用通过 echo 解释反斜杠转义(但结果与使用 echo 相同) Ctrl + R,Ctrl + B)。而作为 wallyk said ,您可能需要添加 -n 以防止输出换行符:

echo -en '\x12\x02' > /dev/ttyS0

还要确保 /dev/ttyS0 是您想要的端口。

https://stackoverflow.com/questions/8877269/

相关文章:

linux - 使用 iconv 将 UTF-16LE 转换为 UTF-8

c - 与交换空间相关的链接器性能?

ruby-on-rails - 使用上帝监控 unicorn - 以非零代码开始退出 = 1

python - 从终端杀死linux中的python解释器

linux - 在 Alpine Linux Docker 的路径中找不到安装的 Go 二进制文件

linux - 并行运行 shell 脚本

c - 结构中零长度数组的目的是什么?

c - 使用 LD_PRELOAD 指定多个文件

linux - 如何在 Linux 上取消关机?

linux - ufw Linux防火墙拒绝和拒绝的区别