我已经设置了我的Arduino,所以当我通过串行监视器发送“0”时,步进电机会转动给定的数量。
我想在bash脚本中包含它,但是我只能在arduino串口监视器打开并在bash中输入echo 0 > /dev/tty.usbserial641
时才能使用它。我认为这是因为串口监视器正在为我打开连接。
在我用bash打开连接的努力中(没有打开串行监视器)我已经尝试了stty -f /dev/tty.usbserial641
的各种选项,并尝试使用10uF电容将复位连接到地。
可以帮助我在不使用arduino串口监视器的情况下在bash中打开连接吗?
系统: Arduino Uno rev3 OS X 10.8.4
非常感谢, hcaw
答案 0 :(得分: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脚本。
答案 1 :(得分:2)
我发现用C编写的一个很棒的二进制文件解决了我的Arduino-serial问题。这是the link. 我希望这可以帮助有类似问题的人!