MicroPython:Библиотеки/pyb/Класс USB VCP: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[]</ref>= <syntaxhighlight lang="python"...»)
 
Нет описания правки
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=<ref>[]</ref>=
=Класс USB_VCP – USB c VCP-интерфейсом<ref>[http://docs.micropython.org/en/latest/library/pyb.USB_VCP.html docs.micropython.org - class USB_VCP – USB virtual comm port]</ref>=
 
''Класс USB_VCP'' позволяет создавать потоковые объекты, представляющие [[USB]] с [[VCP-интерфейс]]ом (от англ. ''«virtual com port»'', т.е. ''«виртуальный COM-порт»''). Его можно использовать для считывания и записи данных на хост через USB-соединение.
 
== Конструкторы ==
 
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/pyb.USB_VCP()|pyb.USB_VCP(id=0)]]
 
• Класс pyb.USB_VCP(id=0) – создает новый объект USB_VCP. В аргументе id задается, какой USB VCP порт надо использовать.
 
== Методы ==
 
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.init()|USB_VCP.init(*, flow=- 1)]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.setinterrupt()|USB_VCP.setinterrupt(chr)]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.isconnected()|USB_VCP.isconnected()]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.any()|USB_VCP.any()]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.close()|USB_VCP.close()]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.read()|USB_VCP.read([nbytes])]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.readinto()|USB_VCP.readinto(buf[, maxlen])]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.readline()|USB_VCP.readline()]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.write()|USB_VCP.write(buf)]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.recv()|USB_VCP.recv(data, *, timeout=5000)]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.send()|USB_VCP.send(data, *, timeout=5000)]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/
 
• USB_VCP.init(*, flow=- 1) – выполняет настройку USB VCP порта. Если в аргументе flow задано не «-1», то значение в нем задает тип управления потоками, где можно через побитовое ИЛИ задать режимы USB_VCP.RTS и USB_VCP.CTS. RTS используется для управления чтением, а CTS – для управления записью.
• USB_VCP.setinterrupt(chr) – задает символ, которым будет прерываться выполнение Python-кода. По умолчанию здесь стоит «3» (Ctrl+C), и если через USB VCP порт будет получен символ Ctrl+C, будет возбуждено исключение KeyboardInterrupt.
Чтобы отключить эту прерывающую функцию, задайте «-1». Это может пригодиться, когда вам нужно отправить по USB VCP порту порцию неформатированных байтов.
• USB_VCP.isconnected() – возвращает True, если к USB-порту подключено последовательное устройство. В противном случае возвращает False.
• USB_VCP.any() – возвращает True при наличии символов, находящихся в режиме ожидания. В противном случае возвращает False.
• USB_VCP.close() – этот метод ничего не делает. Он существует для того, чтобы объект USB_VCP мог вести себя как файл.
• USB_VCP.read([nbytes]) – считывает с последовательного устройства не более nbytes байтов и возвращает их в виде объекта bytes. Если аргумент nbytes задан не будет, тогда метод прочтет с последовательного устройства все доступные байты. Потоковый объект UCB_VCP неявно работает в неблокирующем режиме, поэтому при отсутствии ожидающих данных этот метод незамедлительно вернет None.
• USB_VCP.readinto(buf[, maxlen]) – считывает байты с последовательного устройства и сохраняет их в буфер buf (это должен быть буфероподобный объект). Количество считанных байтов не будет превышать размер буфера buf. Если также будет задан аргумент maxlen, количество считанных байтов не будет превышать min(maxlen, len(buf)).
Возвращает количество байтов, считанных и сохраненных в буфер buf, или None, если данных, ожидающих считывания, не было.
• USB_VCP.readline() – считывает целую строку с последовательного устройства.
Возвращает объект bytes, содержащий считанные данные, включая заключительный символ новой строки, или None, если данных, ожидающих считывания, не было.
• USB_VCP.readlines() – считывает с последовательного устройства максимальное количество данных, разбивая их на строки.
Возвращает список объектов bytes, где каждый объект – это одна считанная строка. В каждой строке будет символ новой строки.
• USB_VCP.write(buf) – записывает байты из буфера buf на последовательное устройство.
Возвращает количество записанных байтов.
• USB_VCP.recv(data, *, timeout=5000) – принимает данные на шину:
o data – здесь может быть целое число (количество байтов, которые надо получить) или изменяемый буфер (который будет наполнен присланными байтами).
o timeout – таймаут в миллисекундах для ожидания приема данных.
Возвращаемое значение: если в data было задано целое число, будет получен новый буфер с байтами, а в противном случае будет возвращено количество байтов, считанных в буфер data.
• USB_VCP.send(data, *, timeout=5000) – отправляет данные по USB VCP порту:
o data – данные, которые надо отправить (целое число или буферный объект).
o timeout – таймаут в миллисекундах для ожидания отправки данных.
Возвращаемое значение: количество отправленных байтов.
 
== Константы ==
 
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.RTS|USB_VCP.RTS]]
* [[MicroPython:Библиотеки/pyb/Класс USB VCP/USB_VCP.CTS|USB_VCP.CTS]]
 
• USB_VCP.RTS, USB_VCP.CTS – задают тип управления потоками.





Версия от 13:56, 17 октября 2020

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Класс USB_VCP – USB c VCP-интерфейсом[1]

Класс USB_VCP позволяет создавать потоковые объекты, представляющие USB с VCP-интерфейсом (от англ. «virtual com port», т.е. «виртуальный COM-порт»). Его можно использовать для считывания и записи данных на хост через USB-соединение.

Конструкторы

• Класс pyb.USB_VCP(id=0) – создает новый объект USB_VCP. В аргументе id задается, какой USB VCP порт надо использовать.

Методы

• USB_VCP.init(*, flow=- 1) – выполняет настройку USB VCP порта. Если в аргументе flow задано не «-1», то значение в нем задает тип управления потоками, где можно через побитовое ИЛИ задать режимы USB_VCP.RTS и USB_VCP.CTS. RTS используется для управления чтением, а CTS – для управления записью. • USB_VCP.setinterrupt(chr) – задает символ, которым будет прерываться выполнение Python-кода. По умолчанию здесь стоит «3» (Ctrl+C), и если через USB VCP порт будет получен символ Ctrl+C, будет возбуждено исключение KeyboardInterrupt. Чтобы отключить эту прерывающую функцию, задайте «-1». Это может пригодиться, когда вам нужно отправить по USB VCP порту порцию неформатированных байтов. • USB_VCP.isconnected() – возвращает True, если к USB-порту подключено последовательное устройство. В противном случае возвращает False. • USB_VCP.any() – возвращает True при наличии символов, находящихся в режиме ожидания. В противном случае возвращает False. • USB_VCP.close() – этот метод ничего не делает. Он существует для того, чтобы объект USB_VCP мог вести себя как файл. • USB_VCP.read([nbytes]) – считывает с последовательного устройства не более nbytes байтов и возвращает их в виде объекта bytes. Если аргумент nbytes задан не будет, тогда метод прочтет с последовательного устройства все доступные байты. Потоковый объект UCB_VCP неявно работает в неблокирующем режиме, поэтому при отсутствии ожидающих данных этот метод незамедлительно вернет None. • USB_VCP.readinto(buf[, maxlen]) – считывает байты с последовательного устройства и сохраняет их в буфер buf (это должен быть буфероподобный объект). Количество считанных байтов не будет превышать размер буфера buf. Если также будет задан аргумент maxlen, количество считанных байтов не будет превышать min(maxlen, len(buf)). Возвращает количество байтов, считанных и сохраненных в буфер buf, или None, если данных, ожидающих считывания, не было. • USB_VCP.readline() – считывает целую строку с последовательного устройства. Возвращает объект bytes, содержащий считанные данные, включая заключительный символ новой строки, или None, если данных, ожидающих считывания, не было. • USB_VCP.readlines() – считывает с последовательного устройства максимальное количество данных, разбивая их на строки. Возвращает список объектов bytes, где каждый объект – это одна считанная строка. В каждой строке будет символ новой строки. • USB_VCP.write(buf) – записывает байты из буфера buf на последовательное устройство. Возвращает количество записанных байтов. • USB_VCP.recv(data, *, timeout=5000) – принимает данные на шину: o data – здесь может быть целое число (количество байтов, которые надо получить) или изменяемый буфер (который будет наполнен присланными байтами). o timeout – таймаут в миллисекундах для ожидания приема данных. Возвращаемое значение: если в data было задано целое число, будет получен новый буфер с байтами, а в противном случае будет возвращено количество байтов, считанных в буфер data. • USB_VCP.send(data, *, timeout=5000) – отправляет данные по USB VCP порту: o data – данные, которые надо отправить (целое число или буферный объект). o timeout – таймаут в миллисекундах для ожидания отправки данных. Возвращаемое значение: количество отправленных байтов.

Константы

• USB_VCP.RTS, USB_VCP.CTS – задают тип управления потоками.


<syntaxhighlight lang="python" enclose="div">

См.также

Внешние ссылки