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

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

设备启动请求的操作.

当我试图从一个独立的debian box或同一台windows机器的debian virtualbox实例中完成相同的操作时,我到目前为止运气不佳.

以下是等效的linux命令(至少我认为是这样)

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

什么都没发生.

谁能告诉我正确的方向吗?

推荐答案

echo '\x12\x02'

将不会被解释,并将逐字地将字符串\x12\x02(并附加一个换行符)写入指定的串行端口.而是使用

echo -n ^R^B

可以在命令行上通过键入CtrlVCtrlRCtrlVCtrlB来构造.或者更容易使用编辑器输入脚本文件.

stty命令应该可以工作,除非另一个程序正在干扰.常见的罪魁祸首是gpsd,它寻找正在插入的GPS设备.

Linux相关问答推荐

在Bluez/Linux中,周期性与连续蓝牙设备发现的已知缺陷是什么?

使用信号处理程序实现Hibernate 功能

Azure Linux B1s VM-Jenkins Sever已安装,但主页未打开

如何让xargs对 bash 脚本中find命令找到的所有文件执行?

如何过滤 Bash 的正则表达式(Linux)中的所有值,除了一个?

c++进程状态中的+是什么意思

最小的 x86_64 Hello World ELF 二进制文件是什么?

我应该如何从非 root Debian Linux 守护进程登录?

如何判断 Linux 机器是否支持 AVX/AVX2 指令?

DMA 和内存映射 IO 有什么区别?

在 Python 上模拟鼠标点击

在 Node.JS 中引用相对于应用程序根目录的文件的正确方法

bashrc 在运行 bash 命令之前不会加载

从 FTP 服务器下载所有文件

判断环境变量是否已经设置

Windows 开发环境值得付出代价吗?

如何让 cron 每N分钟运行一次,其中 n % 5 == 1?

如何将文件夹中的文件列表发送到Linux中的txt文件

Linux 的文本编辑器(除了 Vi)?

Linux 上 POSIX AIO 和 libaio 的区别?