Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 11, 2014 22:39:10

yuryudjin
Зарегистрирован: 2014-01-11
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

pyserial на python 3.3.3

Доброго вам времени суток. Прошу помочь разобраться с проблемой.
Перешел на версию 3.3.3, для работы понадобился скриптик, использующий pyserial.
На версии питона 2.7 все работало как часы, на версии 3.3.3 при .write()

выдает ошибку:

File “<pyshell#6>”, line 1, in <module>
port.write('n')
File “C:\Python33\lib\site-packages\serial\serialwin32.py”, line 283, in write
data = to_bytes(data)
File “C:\Python33\lib\site-packages\serial\serialutil.py”, line 76, in to_bytes
b.append(item) # this one handles int and str for our emulation and ints for Python 3.x
TypeError: an integer is required

что за ересь может быть?

Офлайн

#2 Апрель 28, 2014 15:37:44

Evil_Boojum
Зарегистрирован: 2014-04-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

pyserial на python 3.3.3

Знаешь я тоже столкнулся с этой проблемой. Не найдя никаких ответов в интернете решил сам исправить молотком и напильником. исправил Я следующее:
в файле serialwin32.py на 283 строчки в место data = to_bytes(data) написал
data = bytes(data, encoding = ‘ASCII’).
Не проверял посылает правильный байт или нет, но ошибку не выдаёт.

Офлайн

#3 Апрель 28, 2014 16:02:30

romario82
Зарегистрирован: 2013-04-10
Сообщения: 56
Репутация: +  2  -
Профиль   Отправить e-mail  

pyserial на python 3.3.3

У меня такой проблемы не возникло. Установлен pyserial-2.6, работает без глюков на Python 3.3.
Код который работает в Python 3.3:
import serial
ser = serial.Serial('COM1', 9600)
#—–отправить данные—————————–
data = (bytes('data', encoding='ascii'))
ser.write (data)
print(data)
#—————————————–
#—–получить данные——————————-
s=str(ser.readline())
print (s)
#——————————————
Advanced Serial Port Monitor – очень удобная прога для мониторинга com порта.

bytes('data', encoding='ascii') - посылает правильный байт (проверено)
Вместо ‘data’ (текст) можно вставить переменную.

Отредактировано romario82 (Апрель 28, 2014 16:07:40)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version