使用Bash将单个字节写入串行端口

时间:2011-11-19 04:24:46

标签: bash shell arduino electronics

我有一个Arduino,我编码从USB串口读取并为LED供电。 我知道它正在工作,因为它适用于内置的串行监视器。现在我想编写一个写入串口的Bash脚本。

这是命令:

 echo 121 > /dev/cu.usbmodem411

输出字符串“123”。我怎样才能写一个值为121的单字节?

1 个答案:

答案 0 :(得分:10)

echo 121 > /dev/cu.usbmodem411

将写入四个字节:0x31(表示“1”),0x32(表示“2”),0x31,0x0A(表示换行符)。

如果你的目标是写一个值为121的单字节,你可以这样写:

echo -n $'\171' > /dev/cu.usbmodem411

其中171是121,以base-8表示,-n告诉echo不要打印换行符。

如果那个不是你的目标,请澄清。