Как я могу использовать COM и USB-порты в Cygwin?

Я хочу отправить/получить данные из своей платы Ардуино со сценарием Python. Я хотел бы сделать это с помощью Python и его pySerial модуля, который, кажется, соответствует моим потребностям. Таким образом, я установил Python и pySerial в cygwin (Windows XP позади).

Сценарий Python довольно прост:

$ cat example.py

#print "testing my COM26 port using python"

import serial
ser = serial.Serial()
ser.baudrate = 9600
ser.port = 26
ser
ser.open()
ser.isOpen()

Однако во времени выполнения я получаю следующую ошибку.

$ python example.py
Traceback (most recent call last):
  File "example.py", line 9, in <module>
    ser.open()
  File "/usr/lib/python2.5/site-packages/serial/serialposix.py", line 276, in open
    raise SerialException("could not open port %s: %s" % (self._port, msg))
serial.serialutil.SerialException: could not open port 26: [Errno 2] No such file or directory: '/dev/com27'

Не мог открытый порт 26: [Errno 2] Никакой такой файл или каталог: '/dev/com27'

Как я знаю, что мой Ардуино подключен к порту COM27?

Ну, это просто. IDE Ардуино говорит так, я могу отправить и получить данные из инструмента Serial Port Monitor для IDE с помощью того порта. Кроме того, мне удалось получить гипертерминальную работу с помощью того порта также.

Однако кажется, что Cygwin не знает о таком USB и COM-портах:

$ ls -lah /dev
total 4,0K
.
..
fd -> /proc/self/fd
mqueue
shm
stderr -> /proc/self/fd/2
stdin -> /proc/self/fd/0
stdout -> /proc/self/fd/1

Нужно упомянуть, что я выполняю это на ноутбуке Dell, который не имеет никакого классического последовательного COM-порта, просто USB-порты. (Таким образом, я предполагаю, что это просто нормальный, например, это /dev/com1 не существует.)

Я не знаю, спрашиваю ли я правильно, но мой вопрос: как я могу настроить Cygwin так, чтобы он узнал этот порт COM27?

10
задан dsolimano 8 October 2012 в 15:39
поделиться

1 ответ

Если вы используете портативный компьютер без COM-порта, вы не можете открыть этот порт и начать выполнение операций.

В Windows есть функция для открытия этого порта и изменения состояния некоторой линии (RST), чтения состояний и выполнения передачи. Для LPT-порта вы не можете этого сделать в Windows, вам нужно использовать некоторую библиотеку. Для USB это тоже проблема, вы должны знать устройство, подключенное к USB.

1
ответ дан 3 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: