klasa USB_VCP – USB virtualni komunikacijski priključak¶
Klasa USB_VCP omogućuje stvaranje objekta nalik na stream koji predstavlja USB virtualni komunikacijski priključak. Može se koristiti za čitanje i pisanje podataka preko USB-a na povezani host.
Konstruktori¶
- class pyb.USB_VCP(id: int = 0)¶
Stvara novi
USB_VCPobjekt. Argument id odabire koji USB VCP priključak koristiti kada je izloženo više njih.Metode¶
- init(*, flow: int = -1) None¶
Konfigurira USB VCP priključak. Ako argument flow nije
-1, postavlja kontrolu protoka, bitovni-OR vrijednostiUSB_VCP.RTSiUSB_VCP.CTS.RTSregulira ponašanje pri čitanju;CTSregulira ponašanje pri pisanju.
- setinterrupt(chr: int) None¶
Postavlja znak koji prekida izvođenje Python koda. Prema zadanim postavkama postavljen je na 3 (CTRL-C), a kada se znak CTRL-C primi preko USB VCP priključka, izaziva se iznimka KeyboardInterrupt.
Postavite na -1 da biste onemogućili ovu značajku prekida. To je korisno kada želite slati sirove bajtove preko USB VCP priključka.
- close() None¶
Ova metoda ne radi ništa. Postoji kako bi se USB_VCP objekt mogao ponašati kao datoteka.
- read(nbytes: int | None = None) bytes | None¶
Čita najviše
nbytessa serijskog uređaja i vraća ih kao bytes objekt. Akonbytesnije naveden, metoda čita sve dostupne bajtove sa serijskog uređaja. USB_VCP stream implicitno radi u neblokirajućem načinu rada, pa ako nema dostupnih podataka na čekanju, ova metoda će se odmah vratiti s vrijednošćuNone.
- readinto(buf: bytearray, maxlen: int | None = None) int | None¶
Čita bajtove sa serijskog uređaja i pohranjuje ih u
buf, koji bi trebao biti objekt nalik na međuspremnik. Čita se najvišelen(buf)bajtova. Ako je navedenmaxlen, čita se najvišemin(maxlen, len(buf))bajtova.Vraća broj bajtova pročitanih i pohranjenih u
bufiliNoneako nema dostupnih podataka na čekanju.
- readline() bytes | None¶
Čita cijeli redak sa serijskog uređaja.
Vraća bytes objekt koji sadrži podatke, uključujući završni znak novog retka, ili
Noneako nema dostupnih podataka na čekanju.
- readlines() List[bytes]¶
Čita što je više moguće podataka sa serijskog uređaja, dijeleći ih na retke.
Vraća listu bytes objekata, pri čemu je svaki objekt jedan od redaka. Svaki redak uključivat će znak novog retka.
- write(buf: bytes | bytearray | str) int¶
Piše bajtove iz
bufna serijski uređaj.Vraća broj zapisanih bajtova.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Prima podatke na sabirnici:
datamože biti cijeli broj, što je broj bajtova za primanje, ili promjenjivi međuspremnik, koji će se popuniti primljenim bajtovima.timeoutje istek vremena u milisekundama za čekanje na primanje.
Povratna vrijednost: ako je
datacijeli broj, vraća se novi međuspremnik s primljenim bajtovima, inače se vraća broj bajtova pročitanih udata.
- send(data: int | bytes | bytearray, *, timeout: int = 5000) int¶
Šalje podatke preko USB VCP:
datasu podaci za slanje (cijeli broj za slanje ili objekt međuspremnika).timeoutje istek vremena u milisekundama za čekanje na slanje.
Povratna vrijednost: broj poslanih bajtova.
- irq(handler: Callable[[USB_VCP], None] | None = None, trigger: int = IRQ_RX, hard: bool = False) None¶
Registrira handler koji se poziva kad god se dogodi događaj naveden u trigger. Funkcija handler mora primati točno jedan argument, koji će biti USB VCP objekt. Proslijedite
Noneza onemogućavanje povratnog poziva.Valjane vrijednosti za trigger su:
USB_VCP.IRQ_RX: novi podaci dostupni su za čitanje iz USB VCP objekta.
Konstante¶
- RTS: int¶
Zastavica kontrole protoka za
init(). OmogućavanjeRTSčini da uređaj prigušuje odašiljanje hosta kada je međuspremnik za čitanje pun.