Python serial.write()不向Arduino发送串行数据

Python serial.write()不向Arduino发送串行数据,python,arduino,raspberry-pi,pyserial,Python,Arduino,Raspberry Pi,Pyserial,我正在编写一个Python脚本,它向Arduino发送一个字符,Arduino将收到的字符打印回来。但在这种情况下,Arduino总是给出一个垃圾值。执行Python脚本时也没有错误 我查看了多个博客、文章和教程,并遵循了确切的步骤,但没有找到解决方案 这是我的Python脚本: 导入序列号 ser=serial.serial(“/dev/ttyACM0”,9600) ser.write('8') read=ser.readline() 打印(阅读) 这是Arduino代码: int-temp

我正在编写一个Python脚本,它向Arduino发送一个字符,Arduino将收到的字符打印回来。但在这种情况下,Arduino总是给出一个垃圾值。执行Python脚本时也没有错误

我查看了多个博客、文章和教程,并遵循了确切的步骤,但没有找到解决方案

这是我的Python脚本:

导入序列号
ser=serial.serial(“/dev/ttyACM0”,9600)
ser.write('8')
read=ser.readline()
打印(阅读)
这是Arduino代码:

int-temp;
无效设置(){
Serial.begin(9600);
温度=5;
}
void循环(){
temp=Serial.read();
串行打印LN(温度);
延迟(1000);
}

Arduino总是打印-1作为响应。

您需要添加
Serial.available()

void循环()
{
如果(Serial.available()>0)
{
temp=Serial.read();
连续打印(“我收到:”);
串行打印LN(温度);
}
}

您需要添加
Serial.available()

void循环()
{
如果(Serial.available()>0)
{
temp=Serial.read();
连续打印(“我收到:”);
串行打印LN(温度);
}
}
关于以下内容的文档:

返回

输入串行数据的第一个字节可用(如果没有可用数据,则为-1)-int

按照伊万·谢恩的建议去做,或者

void setup(){
Serial.begin(9600);
Serial.print(“您发送:”);
}
void循环(){
int temp=Serial.read();
如果(温度>=0)
串行打印((字符)温度);
}
确保将传入值强制转换为char
(char)temp

文档:

返回

输入串行数据的第一个字节可用(如果没有可用数据,则为-1)-int

按照伊万·谢恩的建议去做,或者

void setup(){
Serial.begin(9600);
Serial.print(“您发送:”);
}
void循环(){
int temp=Serial.read();
如果(温度>=0)
串行打印((字符)温度);
}
确保将传入值强制转换为char
(char)temp