USB_VCP osztály – USB virtuális kommunikációs port¶
A USB_VCP osztály lehetővé teszi egy stream-szerű objektum létrehozását, amely az USB virtuális kommunikációs portot reprezentálja. Használható adatok olvasására és írására USB-n keresztül a csatlakoztatott gazdagéphez.
Konstruktorok¶
- class pyb.USB_VCP(id: int = 0)¶
Létrehoz egy új
USB_VCPobjektumot. Az id argumentum választja ki, hogy melyik USB VCP portot kell használni, ha egynél több van kivezetve.Metódusok¶
- init(*, flow: int = -1) None¶
Konfigurálja az USB VCP portot. Ha a flow argumentum nem
-1, akkor beállítja az áramlásvezérlést, amely aUSB_VCP.RTSésUSB_VCP.CTSbitenkénti VAGY kapcsolata. AzRTSaz olvasási viselkedést szabályozza; aCTSaz írási viselkedést szabályozza.
- setinterrupt(chr: int) None¶
Beállítja azt a karaktert, amely megszakítja a futó Python kódot. Ez alapértelmezés szerint 3 (CTRL-C), és amikor egy CTRL-C karakter érkezik az USB VCP porton keresztül, egy KeyboardInterrupt kivétel keletkezik.
Állítsa -1-re ennek a megszakítási funkciónak a letiltásához. Ez akkor hasznos, amikor nyers bájtokat szeretne küldeni az USB VCP porton keresztül.
- isconnected() bool¶
Trueértéket ad vissza, ha az USB soros eszközként van csatlakoztatva, ellenkező esetbenFalse.
- debug_mode_enabled() bool¶
Trueértéket ad vissza, ha az OpenMV IDE csatlakoztatva van az OpenMV Camhez.
- close() None¶
Ez a metódus nem csinál semmit. Azért létezik, hogy a USB_VCP objektum fájlként viselkedhessen.
- read(nbytes: int | None = None) bytes | None¶
Legfeljebb
nbytesbájtot olvas be a soros eszközről, és bytes objektumként adja vissza. Ha anbytesnincs megadva, akkor a metódus az összes elérhető bájtot beolvassa a soros eszközről. A USB_VCP stream implicit módon nem blokkoló módban működik, így ha nincs elérhető függőben lévő adat, ez a metódus azonnal visszatérNoneértékkel.
- readinto(buf: bytearray, maxlen: int | None = None) int | None¶
Bájtokat olvas be a soros eszközről, és a
bufpufferbe tárolja, amelynek puffer-szerű objektumnak kell lennie. Legfeljebblen(buf)bájtot olvas be. Ha amaxlenmeg van adva, akkor legfeljebbmin(maxlen, len(buf))bájtot olvas be.Visszaadja a beolvasott és a
bufpufferbe tárolt bájtok számát, vagyNoneértéket, ha nincs elérhető függőben lévő adat.
- readline() bytes | None¶
Beolvas egy egész sort a soros eszközről.
Egy bytes objektumot ad vissza, amely az adatokat tartalmazza, beleértve a záró újsor karaktert is, vagy
Noneértéket, ha nincs elérhető függőben lévő adat.
- readlines() List[bytes]¶
A lehető legtöbb adatot olvassa be a soros eszközről, sorokra bontva azt.
Egy bytes objektumokból álló listát ad vissza, ahol minden objektum egy-egy sor. Minden sor tartalmazza az újsor karaktert.
- write(buf: bytes | bytearray | str) int¶
A
bufpufferből származó bájtokat a soros eszközre írja.Visszaadja a kiírt bájtok számát.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Adatot fogad a buszon:
A
datalehet egy egész szám, amely a fogadandó bájtok száma, vagy egy módosítható puffer, amelyet a fogadott bájtokkal tölt fel.A
timeouta fogadásra való várakozás időkorlátja milliszekundumban.
Visszatérési érték: ha a
dataegész szám, akkor egy új puffer a fogadott bájtokkal, ellenkező esetben adatapufferbe olvasott bájtok száma kerül visszaadásra.
- send(data: int | bytes | bytearray, *, timeout: int = 5000) int¶
Adatot küld az USB VCP-n keresztül:
A
dataa küldendő adat (egy küldendő egész szám vagy egy puffer objektum).A
timeouta küldésre való várakozás időkorlátja milliszekundumban.
Visszatérési érték: az elküldött bájtok száma.
- irq(handler: Callable[[USB_VCP], None] | None = None, trigger: int = IRQ_RX, hard: bool = False) None¶
Regisztrálja a handler függvényt, amelyet meghívnak, valahányszor a trigger által megadott esemény bekövetkezik. A handler függvénynek pontosan egy argumentumot kell fogadnia, amely a USB VCP objektum lesz. Adjon át
Noneértéket a visszahívás letiltásához.A trigger érvényes értékei:
USB_VCP.IRQ_RX: új adat áll rendelkezésre olvasásra a USB VCP objektumból.
Konstansok¶
- RTS: int¶
Áramlásvezérlési jelző az
init()metódushoz. AzRTSengedélyezése arra készteti az eszközt, hogy lefékezze a gazdagép adását, amikor az olvasási puffer megtelt.