Snaka12
Июнь 25, 2012 18:15:53
Учу питон совсем недавно, собственно как и программирование, возникла задача поработать с усб, установил модуль serial, написал вот такой код:
import serial
import time
ser=serial.Serial(
port='/dev/tty/USB1',
baudrate=115200,
timeout=None,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)
ser.Open()
ser.isOpen()
data=“”.join(map(chr, ))
serial.write(data)
и получил вот такой список ошибок:
Traceback (most recent call last):
File “C:\Python27\nacalo.py”, line 11, in <module>
bytesize=serial.EIGHTBITS
File “C:\Python27\lib\site-packages\serial\serialwin32.py”, line 31, in __init__
SerialBase.__init__(self, *args, **kwargs)
File “C:\Python27\lib\site-packages\serial\serialutil.py”, line 261, in __init__
self.open()
File “C:\Python27\lib\site-packages\serial\serialwin32.py”, line 59, in open
raise SerialException(“could not open port %s: %s” % (self.portstr, ctypes.WinError()))
SerialException: could not open port /dev/tty/USB1: Системе не удается найти указанный путь.
если не трудно объясните что означают эти ошибки и подтолкните в правильном направлении с написанием кода
Lexander
Июнь 25, 2012 22:42:22
Если не ошибаюсь, запись вида /dev/ttyUSB1 (обратите внимание, без третьего слэша!) будет работать только под Линукс.
Под Вин вам нужно указывать виртуальный COM-порт, за которым закреплен USB-порт.
Например, COM4.
Lexander
Июнь 25, 2012 22:48:52
Кстати, вы в курсе, что можно просто номер (цифру) использовать?
Список портов можно посмотреть с помощью serial.tools.list_ports
Snaka12
Июнь 27, 2012 17:30:39
изменил, вот что получилось:
import serial
import time
ser=serial.Serial(
port='COM1',
baudrate=115200,
timeout=None,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)
data = “”.join(map(chr, ))
serial.write(data)
теперь выдает вот такую ошибку:
Traceback (most recent call last):
File “C:\Python27\nacalo.py”, line 14, in <module>
serial.write(data)
AttributeError: ‘module’ object has no attribute ‘write’
типа говорит что у модуля нет такой команды……что-то я совсем запутался
Snaka12
Июль 1, 2012 19:39:35
стлько толковых людей и никто не знает???
Snaka12
Июль 3, 2012 01:23:01
собственно задача передать в ком порт вот такой пакет - 0xC0,0x00,0x01, где 0xC0 - начало пакета,0x00 - команда, 0x01 - конец пакета, а потом прочитать что ответит устройство которое висит на этом порту, за пример брал тему:
http://python.su/forum/topic/7725/ и еще несколько примеров которые я что-то не нахожу….
http://podrugomu.com/node/981 - вспомнил, и вездедля записи данных в ком- порт используется эта команда
Lexander
Июль 3, 2012 15:29:16
Snaka12
стлько толковых людей и никто не знает???
Вам нужно либо отдохнуть, либо понять чем отличается модуль от переменной.
В этом деле никто вам не помощник.
Почитайте еще одну ветку, начиная с
http://python.su/forum/post/51091/