通过引脚从 Arduino 到 RPi 的串行通信
Serial comms from Arduino to RPi via pins
我卡住了,不知道为什么。我正在尝试分别通过 TX 和 Rx 引脚从 Arduino Nano 传输到 RPi。
到目前为止这是我的代码:
Arduino TX:
void setup(){
Serial.begin(9600);
}
void loop(){
bProgramLoop = 1
while(bProgramLoop == 1){
Serial.write(1);
}
}
树莓派:
import serial
oSer = serial.Serial("/dev/ttyAMA0",baudrate=9600,timeout=1)
while True:
sSerialInput = oSer.read(1)
#sSerialInput = oSer.readline()
print sSerialInput
将草图加载到 Arduino 并启动 python 脚本后,Raspberry 根本不读取任何内容。
注意:
- 我已经通过分压器和一些跳线将 Arduino 的 Tx 引脚连接到 RPi 的 Rx 引脚。
- 我也试过"readline()",但没有成功
有什么建议吗?
我找到了解决我遇到的问题的方法。我仍然是一个真正的菜鸟,但据我所知,通过 Tx pin 发送串行数据是有问题的,因为它被 usb 端口使用,然后到你的 PC。
因此解决方案是使用 SoftwareSerial 库。我修改了我的两个代码草图如下:
Arduino:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(4,3); // (RX,TX) - Pin Setup for any digital pins you want as Rx or Tx
void setup(){
Serial.begin(9600);
mySerial.begin(57600); // initialize serial communication with serial pin
}
void loop(){
bProgramLoop = 1
while(bProgramLoop == 1){
mySerial.write("Anything");
}
}
覆盆子:
import serial
oSer = serial.Serial("/dev/ttyAMA0",baudrate=9600,timeout=1)
while True:
sSerialInput = oSer.readline()
print sSerialInput
事实上,我能够将数据从 Arduino 传输到 RPi。 然而,我在将字符串转换为整数或浮点数时仍然遇到问题。
有关详细信息,请参阅此 post:
我卡住了,不知道为什么。我正在尝试分别通过 TX 和 Rx 引脚从 Arduino Nano 传输到 RPi。
到目前为止这是我的代码:
Arduino TX:
void setup(){
Serial.begin(9600);
}
void loop(){
bProgramLoop = 1
while(bProgramLoop == 1){
Serial.write(1);
}
}
树莓派:
import serial
oSer = serial.Serial("/dev/ttyAMA0",baudrate=9600,timeout=1)
while True:
sSerialInput = oSer.read(1)
#sSerialInput = oSer.readline()
print sSerialInput
将草图加载到 Arduino 并启动 python 脚本后,Raspberry 根本不读取任何内容。
注意:
- 我已经通过分压器和一些跳线将 Arduino 的 Tx 引脚连接到 RPi 的 Rx 引脚。
- 我也试过"readline()",但没有成功
有什么建议吗?
我找到了解决我遇到的问题的方法。我仍然是一个真正的菜鸟,但据我所知,通过 Tx pin 发送串行数据是有问题的,因为它被 usb 端口使用,然后到你的 PC。
因此解决方案是使用 SoftwareSerial 库。我修改了我的两个代码草图如下:
Arduino:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(4,3); // (RX,TX) - Pin Setup for any digital pins you want as Rx or Tx
void setup(){
Serial.begin(9600);
mySerial.begin(57600); // initialize serial communication with serial pin
}
void loop(){
bProgramLoop = 1
while(bProgramLoop == 1){
mySerial.write("Anything");
}
}
覆盆子:
import serial
oSer = serial.Serial("/dev/ttyAMA0",baudrate=9600,timeout=1)
while True:
sSerialInput = oSer.readline()
print sSerialInput
事实上,我能够将数据从 Arduino 传输到 RPi。 然而,我在将字符串转换为整数或浮点数时仍然遇到问题。
有关详细信息,请参阅此 post: