Python: '\ x00' случайно появляется в сериале от Arduino до Raspberry PiPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python: '\ x00' случайно появляется в сериале от Arduino до Raspberry Pi

Сообщение Anonymous »

Я транслирую данные из Arduino обратно в Raspberry Pi через порт /dev /ttyusb0. Я использую Python на стороне PI для чтения входящих последовательных данных. В целях отладки я в настоящее время распечатываю каждый serial.readline (). Ниже можно увидеть две строки отладки: < /p>

['a', '337', '731', '88 \ r \ n '] < /p>
['a', '33 \ x009 ',' 1931 ',' 8 \ r \ n '] < /p>

Каждый раз каждый раз Через некоторое время в данных появляется случайный \ x00, и я не могу понять, откуда они. Я не упорядочил последовательную связь от Arduino, поэтому я считаю, что она отправляет каждую цифру как отдельный байт, такой как 3 3 \ x00 9, так что это может быть улучшено. < /P>

< P> также, кажется, это происходит только тогда, когда я запускаю последовательную связь в отдельной ветке в Python ... Я не слишком знаком с многопоточным чтением в Python, но это казалось слишком повторяемым, чтобы просто быть случайным. < /p>

Некоторые из соответствующих кодов
arduino: < /p>

Serial2.print(F("A,"));
Serial2.print(startingAngle + ix);
Serial2.print(F(","));
Serial2.print(int(aryDist[ix]));
Serial2.print(F(","));
Serial2.println(aryQuality[ix]);
< /code>

python: < /p>

queue = Queue()
lidar_thread = Thread( target=lidar.process, args=(queue, ))
lidar_thread.start()
< /code>

В функции потока: < /p>

with serial.Serial('/dev/ttyUSB0', 115200, timeout=1) as ser:
ser.write(b'ShowDist\n')
while True:
s = ser.readline()
vals = s.split(',')
< /code>

снова, если я просто вызову функцию вне потока, она, кажется, работает нормально. Любые идеи о том, откуда берется этот «\ x00» и почему это происходит только тогда, когда много резьбовых? В конце концов, я хочу использовать каждое значение как int, который ломается, когда этот дополнительный байт будет включен ... Я также был бы заинтересован в вычислительно недороги Подход try Catch может замедлить вещи. < /p>

Спасибо < /p>

Подробнее здесь: https://stackoverflow.com/questions/434 ... spberry-pi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»