树莓派串口数据错误
问题描述:
我通过USB端口将Arduino Board连接到树莓。使用处理代码,我想读取arduino发送的70个字节。如果我在我的PC窗口上使用该程序,它可以工作,但是使用Raspberry,我从Processing获得的数据与Arduino发送的数据不同。这是读取串口的处理代码:树莓派串口数据错误
import processing.serial.*;
Serial uart;
byte[] codice= new byte[70];
void setup() {
uart= new Serial(this, Serial.list()[1], 9600);
}
void draw() {
if (uart.available()>0) {
codice=uart.readBytes();
println(codice);
}
}
在我的情况下,串口是“dev/ttyUSB0”。我也试图用这种方式与python:
>>> import serial
>>> ser = serial.Serial('/dev/ttyUSB0', 9600)
>>> while True:
... print ser.readline()
另外在python中也有相同的错误。我也尝试改变波特率(115200),结果相同。
答
拔下Arduino的插头,用ls /dev/tty*
搜索并插入。
如果现在再次搜索ls /dev/tty*
,您将看到一个新设备,例如/dev/ttyACM0
。此外,您需要arduino驱动程序来模拟COM端口sudo apt-get update && sudo apt-get install arduino
。
Arduino的代码
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(“Hello Raspi”);
delay(3000);
}
树莓派代码片段
import serial
ser = serial.Serial('/dev/ttyACM0', 9600)
试试这个页面上的Python的例子:How to attach an Arduino?
不同如何......? –
@marc例如,我应该有20和22之间的值,但在树莓上,我的值在10到40之间 – andrsimo
发送的数据看起来是什么样的(70字节)? –