当我尝试通过覆盆子Pi 2上的串口发送/接收数据时,我遇到了问题......我也使用了Arduino Mega和AUNO 我也尝试过nanpy库,它工作得很慢
python代码:
import serial
from time import sleep
ser = serial.Serial('/dev/ttyACM1', 9600)
while 1 :
a= ser.readline()
ser.write('5')
print (a)
Arduino代码:
void setup()
{
Serial.begin(9600);
for (int i=2;i<=13;i++){
pinMode(i,OUTPUT);
}
}
void loop()
{
Serial.println("Hello Pi");
if (Serial.available()>0) {
for(int i=2;i<=13;i++){
analogWrite(i,255);
Serial.print (Serial.read());
} } }
请帮助,这是完成项目代码的最后一步:'(
感谢名单
答案 0 :(得分:1)
您的Python程序将阻塞语句ser.readline(),直到串行端口获得“\ n”(换行符)字符。看起来你的Arduino程序除了语句Serial.println之外不会发送换行符。因此,您的Python程序将打印与调用函数loop()完全相同的内容。你提供的代码从不调用循环,因此没有人能够知道它的频率。顺便说一句,你的loop()函数没什么意义;每次调用它时都会写入“Hello pi”后跟换行符,然后它会读取串行端口12次,每次写入读取的内容。似乎有点奇怪。这就是你想要的吗?