0

我被卡住了,不知道为什么。我正在尝试分别通过 TX 和 Rx 引脚从 Arduino Nano 传输到 RPi。

到目前为止,这是我的代码:

阿杜诺德州:

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()”,但没有运气

有什么建议么?

4

1 回答 1

0

我找到了解决我遇到的问题的方法。我仍然是一个合适的菜鸟,但据我所知,通过 Tx 引脚发送串行数据是有问题的,因为它由 USB 端口使用,然后到您的 PC。

因此解决方案是使用 SoftwareSerial 库。我修改了我的两个代码草图,如下所示:

阿杜诺:

#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。但是,我仍然在将字符串转换为整数或浮点数时遇到问题。

有关详细信息,请参阅此帖子:Python readline() 返回不会转换为 int 或 float 的字符串

于 2016-06-13T22:44:20.523 回答