Python зависает при использовании serial.write () на моем Raspberry 2 - PullRequest
0 голосов
/ 21 мая 2018

Я использую pySerial для связи между RaspberryPi 2 и Arduino, но после моих первых 100 вызовов write он начинает очень медленно работать при записи.Мой код выглядит следующим образом:

import serial

ser = serial.Serial("/dev/ttyACM0", 2000000, write_timeout=0)
while True:
    byteData = getData()
    sentBytes = ser.write(byteData)
    if sentBytes == 4:
        print("All Data was sent successfully!")

Все нормально в течение первой секунды, но затем он зависает, и я посылаю только 4 байта каждую секунду.Я также видел этот пост здесь , но на моей машине Raspbian / dev / serial0 или / dev / ttyS0 не существует.Как я получаю это стремительно, как в первую секунду, постоянно?

1 Ответ

0 голосов
/ 23 мая 2018

Вы используете очень высокую скорость передачи данных, возможно, буфер заполнен, и через некоторое время произойдет сбой.Попробуйте очень консервативную скорость передачи 9600 бод и посмотрите, есть ли у вас такая же проблема.

Также убедитесь, что ваш getData() на самом деле всегда возвращает 4 байта, в противном случае ваш оператор печати может не обрабатываться в каждом цикле.

...