我正在使用 Arduino Uno 来控制来自磁传感器的脉冲。在操作开始之前,我需要读取两个浮点数作为计算参数。我的arduino代码如下:
int i=0;
while (true) //wait until parameters are read
{
if (Serial.available())
{
inData[i++]=Serial.parseFloat();
}
if (i>=initLength) {
return true;
}
}
如果我使用内置串口监视器没有问题,我可以输入ie“1.5 2.5”并按下回车键,参数读取正确。但是,如果我使用自己的 python 程序,它就不再起作用了。我正在使用 pyserial 将参数发送到 Arduino。
sstr='{0} {1}'.format(1.5,2.5)
ser.write(sstr.encode('ascii'))
ser.flush()
如果我使用 python 发送数据,以下内容将保存到变量中:
inData[0]: 0.00
inData[1]: 1.5
似乎是某种编码问题,但我还没有弄清楚。