Почему скрипт PySerial работает со скоростью 115200 бод, а не 19200 бод? - PullRequest
2 голосов
/ 03 апреля 2019

У меня запущена программа Arduino, которая устанавливает значение Serial в 19200. Я хочу извлечь последовательные данные, используя библиотеку PySerial.Однако PySerial, кажется, работает только тогда, когда скорость передачи составляет 115200.

Вот так выглядит моя установка Arduino ():

void setup() {
  // put your setup code here, to run once:
  Serial.begin(19200);
  XBee.begin(19200);// was 9600
}

Так выглядит код PySerial, когдаустановить на 19200:

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 '

Вот как выглядит код PySerial при значении 115200:

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?Или что я могу сделать, чтобы преобразовать этот тип данных в десятичное число?

Спасибо

1 Ответ

2 голосов
/ 03 апреля 2019

Скорость передачи зависит от устройства. Это существенно определяет скорость передачи данных между устройствами. Вам необходимо проверить таблицу данных вашей модели XBee, чтобы определить совместимые скорости передачи данных. Как правило, 9600 и 115200 обычно используются, поскольку использование нестандартных скоростей передачи зависит от продукта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...