Raspberry pi - arduino 串行通信
Raspberry pi - arduino Serial Communication
我需要通过串行通信与 arduino 通信 raspberry pi。为了进行交流,我在双方都使用了相同的波特率,但我仍然无法做到这一点..
这是我的 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);
}
这是我在 raspberry pi 方面的内容,
#!/usr/bin/python
import serial
ser = serial.Serial('/dev/ttyACM0',9600)
ser.write('3')
这个东西有时不起作用,但有时它起作用了。谁能帮我解决这个问题。
我已经解决了我的 problem.There 是访问值的时间间隔问题,我只需要添加一个 while 循环即可获取该值。在我的 arduino 代码中,我在第 24 行添加了延迟。
我需要通过串行通信与 arduino 通信 raspberry pi。为了进行交流,我在双方都使用了相同的波特率,但我仍然无法做到这一点..
这是我的 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);
}
这是我在 raspberry pi 方面的内容,
#!/usr/bin/python
import serial
ser = serial.Serial('/dev/ttyACM0',9600)
ser.write('3')
这个东西有时不起作用,但有时它起作用了。谁能帮我解决这个问题。
我已经解决了我的 problem.There 是访问值的时间间隔问题,我只需要添加一个 while 循环即可获取该值。在我的 arduino 代码中,我在第 24 行添加了延迟。