我有一个 Arduino,我已对其进行编码以从 USB 串行端口读取数据并为 LED 供电。 我知道它在工作,因为它在内置的串行监视器上工作。现在我想编写一个写入串口的 Bash 脚本。
命令如下:
echo 121 > /dev/cu.usbmodem411
它输出字符串“123”。我怎样才能改为写入值为 121 的单个字节?
最佳答案
echo 121 > /dev/cu.usbmodem411
将写入四个字节:0x31(表示“1”)、0x32(表示“2”)、0x31 和 0x0A(表示换行符)。
如果您的目标是写入一个值为 121 的字节,您可以这样写:
echo -n $'\171' > /dev/cu.usbmodem411
其中 171 是以 8 进制表示的 121,-n
告诉 echo
不要打印换行符。
如果那不是您的目标,那么请澄清。
关于bash - 使用 Bash 将单个字节写入串口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8191888/