Найти - Пользователи
Полная версия: Чтение данных ser.readline()
Начало » Python для новичков » Чтение данных ser.readline()
1
Ndrnd
Добры день, прошу помочь с неизвестной мне ошибкой. При чтении данных с com port, если символы не повторяются больше двух раз подрят (например: ss, dd ,dfdff) вывод на экран идет нормально. Как только я принимаю три одинаковывх символа подряд (например: sss, fff, dgvvv) то печатаются неизвестные символы. Скажите пожалуйста в чем может заключатся такое поведение.

#Code:
import serial
ser = serial.Serial()
c = ser.readline()
print('c:', c)
print('c:Windows-1251 - ‘, (c.decode(’Windows-1251')))
#print('c:utf-8 - ‘, (c.decode(’utf-8')))

#End.

Пример вывода на экра при приеме подряд трех символов ‘s’ , ('sss')
c: b'ss\xf3\n'
c:Windows-1251 - ssу

Пример вывода на экра при приеме не повторяющихся символов, ('abcdefg')
c: b'abcdefg\n'
c:Windows-1251 - abcdefg
doza_and
Общие комментарии.

1. Из вашего кода совершенно непонятно что такое self.ser ни как вы открыли ком порт.
2. В коде вообще опущено как именно вы передаете данные.

А в том что вы привели все нормально, что пришло то и декодировалось.


Ndrnd
doza_and
Общие комментарии.1. Из вашего кода совершенно непонятно что такое self.ser ни как вы открыли ком порт.2. В коде вообще опущено как именно вы передаете данные.А в том что вы привели все нормально, что пришло то и декодировалось.
1. Поправил код.
2. Передаю с hyper terminal по com порту

Прием не нормальный, в первом примере видно что при посылке подряд три символа ‘s’, третий символ выводится неправильно, вместо ‘s’ выводится в первом формате b'\xf3', во втором 1251 ‘y’

Ранее этот код у меня работал на Python2.7, сейчас пользуюсь Python3.9, видимо есть какая то тонкость, которую ни как не удается понять. Почему переданные подряд три одинаковых символа вызывают такой эффект?
py.user.next
Ndrnd
2. Передаю с hyper terminal по com порту
Видимо, он что-то передаёт. Попробуй по-другому подать данные на тот же скрипт. Увидишь, что он работает предсказуемо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB