Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 8, 2020 13:14:45

ReginaRanda
Зарегистрирован: 2020-12-08
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с библиотекой pyserial

Здравствуйте
Возникли проблемы с библиотекой pyserial
Пример посылки в ком-порт
1 3 0 0 0 10 205 197
Во второй ком-порт прилетает
1 3 0 0 0 10 195 141 195 133

import serial
ser = serial.Serial('COM1', 115200, bytesize=8, parity='N', stopbits=1, timeout=1)
ser.write(f.encode('utf-8'))

f это строка

Офлайн

#2 Дек. 8, 2020 17:07:59

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Проблема с библиотекой pyserial

Полный код скидывай.

ReginaRanda
f это строка
Ага, понятно. А что за строка?



Офлайн

#3 Дек. 9, 2020 05:25:05

ReginaRanda
Зарегистрирован: 2020-12-08
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с библиотекой pyserial

py.user.next
Полный код скидывай.

f=chr(1)+chr(3)+chr(0)+chr(0)+chr(0)+chr(10)+chr(205)+chr(197)

Отредактировано ReginaRanda (Дек. 9, 2020 05:25:26)

Офлайн

#4 Дек. 9, 2020 06:06:56

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Проблема с библиотекой pyserial

ReginaRanda
  
ser.write(f.encode('utf-8'))
Можешь использовать
  
ser.write(f.encode('latin1'))
Но вообще это делается через тип bytes() или bytearray().
  
>>> data = bytes([1, 3, 0, 0, 0, 10, 205, 197])
>>> data
b'\x01\x03\x00\x00\x00\n\xcd\xc5'
>>> 
>>> data = bytearray([1, 3, 0, 0, 0, 10, 205])
>>> data
bytearray(b'\x01\x03\x00\x00\x00\n\xcd')
>>> data.append(197)
>>> data
bytearray(b'\x01\x03\x00\x00\x00\n\xcd\xc5')
>>>



Офлайн

#5 Дек. 17, 2020 10:24:52

ReginaRanda
Зарегистрирован: 2020-12-08
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с библиотекой pyserial

py.user.next
спасибо
это подошло ser.write(f.encode('latin1'))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version