3

我已经设置了我的 Arduino,所以当我通过串行监视器发送“0”时,步进电机转动给定的量。

我想将它包含在 bash 脚本中,但我只能在 arduino 串行监视器打开并进入echo 0 > /dev/tty.usbserial641bash 时让它工作。我认为这是因为串行监视器正在为我打开连接。

在我努力在 bash 中打开连接(没有打开串行监视器)时,我尝试了各种选项,stty -f /dev/tty.usbserial641还尝试使用 10uF 电容器将复位连接到地。

任何人都可以在不使用 arduino 串行监视器的情况下帮助我在 bash 中打开连接吗?

系统:Arduino Uno rev3 OS X 10.8.4

非常感谢,hcaw

4

2 回答 2

5

执行以下命令为您工作。

 # stty -F /dev/ttyUSB0 9600 cs8 -cstopb
 # sleep 0.1
 # echo "0" > /dev/ttyUSB0

值 0 和 ascii char 0 (48) 之间存在差异。你想发送哪一个,你想接收哪一个?

如果你想从终端读取端口,你可以这样做

head -n 1 /dev/ttyUSB0  //the number after n is how many lines you want to read

最后一点,我是pySerial的粉丝。我宁愿在 python 中编写一个接口而不是 shell 脚本。

于 2013-08-15T17:20:22.947 回答
2

我发现了一个用 C 语言编写的很棒的二进制文件,可以解决我的问题,称为 Arduino-serial。这是链接。 我希望这可以帮助有类似问题的人!

于 2013-08-16T10:56:30.923 回答