class USB_VCP – USB-virtuaalisarjaportti¶
USB_VCP-luokka mahdollistaa stream-tyyppisen objektin luomisen, joka edustaa USB-virtuaalisarjaporttia. Sitä voidaan käyttää datan lukemiseen ja kirjoittamiseen USB:n kautta kytkettyyn isäntäkoneeseen.
Konstruktorit¶
- class pyb.USB_VCP(id: int = 0)¶
Luo uuden
USB_VCP-objektin. id-argumentti valitsee, mitä USB VCP -porttia käytetään, kun useampi kuin yksi on tuotu ulos.Metodit¶
- init(*, flow: int = -1) None¶
Määrittää USB VCP -portin. Jos flow-argumentti ei ole
-1, se asettaa vuonohjauksen, joka on bittikohtainen OR arvoistaUSB_VCP.RTSjaUSB_VCP.CTS.RTSportittaa lukukäyttäytymistä;CTSportittaa kirjoituskäyttäytymistä.
- setinterrupt(chr: int) None¶
Asettaa merkin, joka keskeyttää suorituksessa olevan Python-koodin. Tämä on oletuksena 3 (CTRL-C), ja kun CTRL-C-merkki vastaanotetaan USB VCP -portin kautta, nostetaan KeyboardInterrupt-poikkeus.
Aseta arvoon -1 poistaaksesi tämän keskeytysominaisuuden käytöstä. Tämä on hyödyllistä, kun haluat lähettää raakatavuja USB VCP -portin kautta.
- close() None¶
Tämä metodi ei tee mitään. Se on olemassa, jotta USB_VCP-objekti voi toimia tiedostona.
- read(nbytes: int | None = None) bytes | None¶
Lukee enintään
nbytestavua sarjalaitteelta ja palauttaa ne bytes-objektina. Josnbytesei ole määritetty, metodi lukee kaikki saatavilla olevat tavut sarjalaitteelta. USB_VCP stream toimii implisiittisesti ei-estävässä tilassa, joten jos odottavaa dataa ei ole saatavilla, tämä metodi palaa välittömästi arvollaNone.
- readinto(buf: bytearray, maxlen: int | None = None) int | None¶
Lukee tavuja sarjalaitteelta ja tallentaa ne puskuriin
buf, jonka tulee olla puskurinkaltainen objekti. Luetaan enintäänlen(buf)tavua. Josmaxlenon annettu, luetaan enintäänmin(maxlen, len(buf))tavua.Palauttaa puskuriin
bufluettujen ja tallennettujen tavujen määrän taiNone, jos odottavaa dataa ei ole saatavilla.
- readline() bytes | None¶
Lukee kokonaisen rivin sarjalaitteelta.
Palauttaa bytes-objektin, joka sisältää datan, mukaan lukien lopussa olevan rivinvaihtomerkin, tai
None, jos odottavaa dataa ei ole saatavilla.
- readlines() List[bytes]¶
Lukee niin paljon dataa kuin mahdollista sarjalaitteelta jakaen sen riveihin.
Palauttaa listan bytes-objekteja, joista kukin objekti on yksi riveistä. Kukin rivi sisältää rivinvaihtomerkin.
- write(buf: bytes | bytearray | str) int¶
Kirjoittaa puskurin
buftavut sarjalaitteelle.Palauttaa kirjoitettujen tavujen määrän.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Vastaanottaa dataa väylältä:
datavoi olla kokonaisluku, joka on vastaanotettavien tavujen määrä, tai muokattava puskuri, joka täytetään vastaanotetuilla tavuilla.timeouton aikakatkaisu millisekunteina, jonka verran vastaanottoa odotetaan.
Paluuarvo: jos
dataon kokonaisluku, palautetaan uusi puskuri vastaanotetuista tavuista, muutoin palautetaan kohteeseendataluettujen tavujen määrä.
- send(data: int | bytes | bytearray, *, timeout: int = 5000) int¶
Lähettää dataa USB VCP:n kautta:
dataon lähetettävä data (lähetettävä kokonaisluku tai puskuriobjekti).timeouton aikakatkaisu millisekunteina, jonka verran lähetystä odotetaan.
Paluuarvo: lähetettyjen tavujen määrä.
- irq(handler: Callable[[USB_VCP], None] | None = None, trigger: int = IRQ_RX, hard: bool = False) None¶
Rekisteröi handler kutsuttavaksi aina, kun trigger-arvon määrittämä tapahtuma esiintyy. handler-funktion täytyy ottaa täsmälleen yksi argumentti, joka on USB VCP -objekti. Anna arvoksi
Nonepoistaaksesi takaisinkutsun käytöstä.trigger-arvon kelvolliset arvot ovat:
USB_VCP.IRQ_RX: uutta dataa on saatavilla luettavaksi USB VCP -objektista.
Vakiot¶
- RTS: int¶
Vuonohjauslippu metodille
init().RTS:n käyttöön ottaminen saa laitteen rajoittamaan isäntäkoneen lähetystä, kun lukupuskuri on täynnä.