【发布时间】:2016-08-10 20:45:15
【问题描述】:
我需要通过串行通信与 arduino 通信树莓派。为了沟通,我在双方都使用相同的波特率,但我仍然无法做到这一点..
这是我的 Arduino 代码
int ledPinSpeedOne = 11;
int ledPinSpeedTwo = 12;
int ledPinSpeedThree = 13;
char inbyte;
void setup() {
Serial.begin(9600);
pinMode(ledPinSpeedOne, OUTPUT);
pinMode(ledPinSpeedTwo, OUTPUT);
pinMode(ledPinSpeedThree, OUTPUT);
digitalWrite(ledPinSpeedOne, LOW);
digitalWrite(ledPinSpeedTwo, LOW);
digitalWrite(ledPinSpeedThree, LOW);
}
void loop()
{
if (Serial.available() > 0) {
delay(100);
inbyte=Serial.read();
if ( inbyte == '3' ) functionSpeedTwo();
}
}
//functionSpeedTwo
void functionSpeedTwo() {
digitalWrite(ledPinSpeedOne, LOW);
digitalWrite(ledPinSpeedTwo, HIGH);
digitalWrite(ledPinSpeedThree, LOW);
}
这是我在树莓派方面所拥有的,
#!/usr/bin/python
import serial
ser = serial.Serial('/dev/ttyACM0',9600)
ser.write('3')
这个东西有时不起作用,但有时它起作用了。谁能帮我解决这个问题。
【问题讨论】:
-
查看运行 python 脚本时 arduino 是否重置。如果是这样,请在使用pyserial打开端口之前设置控制线状态
-
“控制线状态”是什么意思???
-
运行脚本时你的 Arduino 会重置吗?
-
不,不是……我已经解决了问题。
标签: python arduino-uno serial-communication