Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么PySerial脚本使用115200波特而不是19200波特?_Python_Arduino_Pyserial - Fatal编程技术网

Python 为什么PySerial脚本使用115200波特而不是19200波特?

Python 为什么PySerial脚本使用115200波特而不是19200波特?,python,arduino,pyserial,Python,Arduino,Pyserial,我有一个Arduino程序正在运行,它将串行波特率设置为19200。我想使用PySerial库提取串行数据。然而,PySerial似乎只有在波特率为115200时才起作用 以下是我的Arduino setup()的外观: void setup() { // put your setup code here, to run once: Serial.begin(19200); XBee.begin(19200);// was 9600 } 这是设置为19200时PySerial代码的

我有一个Arduino程序正在运行,它将串行波特率设置为19200。我想使用PySerial库提取串行数据。然而,PySerial似乎只有在波特率为115200时才起作用

以下是我的Arduino setup()的外观:

void setup() {
  // put your setup code here, to run once:
  Serial.begin(19200);
  XBee.begin(19200);// was 9600
}
这是设置为19200时PySerial代码的外观:

with serial.Serial('COM19', 19200) as ser:
    x = ser.read(8)          # 6 works for reading in 2 variables
    print(x)
输出:

b'\xf3\xea\xf6\xea\xea\xf8'

b'\xf8\xf6\xf3\xfc\xfc\xfc'

这是设置为115200时PySerial代码的外观:

with serial.Serial('COM19', 115200) as ser:
    x = ser.read(8)          # 6 works for reading in 2 variables
    print(x)
输出:

b'70\r\n72'

b'72\r\n70'

有人知道为什么它只适用于115200而不适用于19200吗?或者我能做些什么将该数据类型转换成十进制数


谢谢

波特率取决于设备。它本质上决定了设备之间的数据速率。您需要检查XBee模型的数据表以确定兼容的波特率。通常,9600和115200是常用的,因为非标准波特率的使用因产品而异。

我曾经遇到过类似的问题。我面对它是因为我的设备有不同的波特率。看起来你的Arduino的波特率是115200。可能是这样吗?是的,是这样!我不得不把速度降到9600是的,这正是我的问题。非常感谢。