通过引脚从 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 根本不读取任何内容。

注意:

有什么建议吗?

我找到了解决我遇到的问题的方法。我仍然是一个真正的菜鸟,但据我所知,通过 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: