class USB_VCP – USB sanal iletişim portu¶
USB_VCP sınıfı, USB sanal iletişim portunu temsil eden stream benzeri bir nesnenin oluşturulmasını sağlar. Bağlı ana makineye USB üzerinden veri okumak ve yazmak için kullanılabilir.
Yapıcılar¶
- class pyb.USB_VCP(id: int = 0)¶
Yeni bir
USB_VCPnesnesi oluşturur. id argümanı, birden fazla port açığa çıkarıldığında hangi USB VCP portunun kullanılacağını seçer.Yöntemler¶
- init(*, flow: int = -1) None¶
USB VCP portunu yapılandırır. flow argümanı
-1değilse, akış kontrolünü ayarlar;USB_VCP.RTSveUSB_VCP.CTSdeğerlerinin bit düzeyinde OR işlemidir.RTSokuma davranışını kontrol eder;CTSyazma davranışını kontrol eder.
- setinterrupt(chr: int) None¶
Çalışan Python kodunu kesen karakteri ayarlar. Bu varsayılan olarak 3 (CTRL-C) olarak ayarlanmıştır ve USB VCP portu üzerinden bir CTRL-C karakteri alındığında bir KeyboardInterrupt istisnası fırlatılır.
Bu kesme özelliğini devre dışı bırakmak için -1 olarak ayarlayın. Bu, USB VCP portu üzerinden ham bayt göndermek istediğinizde kullanışlıdır.
- close() None¶
Bu yöntem hiçbir şey yapmaz. USB_VCP nesnesinin bir dosya gibi davranabilmesi için vardır.
- read(nbytes: int | None = None) bytes | None¶
Seri cihazdan en fazla
nbytesokur ve bunları bir bytes nesnesi olarak döndürür.nbytesbelirtilmezse, yöntem seri cihazdan mevcut tüm baytları okur. USB_VCP stream, dolaylı olarak bloklamasız (non-blocking) modda çalışır, dolayısıyla bekleyen veri yoksa bu yöntem hemenNonedeğeriyle döner.
- readinto(buf: bytearray, maxlen: int | None = None) int | None¶
Seri cihazdan baytları okur ve bunları arabellek benzeri bir nesne olması gereken
bufiçine depolar. En fazlalen(buf)bayt okunur.maxlenverilirse en fazlamin(maxlen, len(buf))bayt okunur.Okunan ve
bufiçine depolanan bayt sayısını veya bekleyen veri yoksaNonedöndürür.
- readline() bytes | None¶
Seri cihazdan bütün bir satır okur.
Sondaki yeni satır karakteri de dahil olmak üzere veriyi içeren bir bytes nesnesi veya bekleyen veri yoksa
Nonedöndürür.
- readlines() List[bytes]¶
Seri cihazdan mümkün olduğunca çok veri okur ve bunu satırlara böler.
Her biri satırlardan biri olan bytes nesnelerinin bir listesini döndürür. Her satır yeni satır karakterini içerir.
- write(buf: bytes | bytearray | str) int¶
bufiçindeki baytları seri cihaza yazar.Yazılan bayt sayısını döndürür.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Veri yolundan veri alır:
databir tamsayı olabilir (alınacak bayt sayısı) veya alınan baytlarla doldurulacak değiştirilebilir bir arabellek olabilir.timeoutalma işlemi için beklenecek milisaniye cinsinden zaman aşımıdır.
Dönüş değeri:
databir tamsayıysa alınan baytları içeren yeni bir arabellek, aksi takdirdedataiçine okunan bayt sayısı döndürülür.
- send(data: int | bytes | bytearray, *, timeout: int = 5000) int¶
USB VCP üzerinden veri gönderir:
datagönderilecek veridir (gönderilecek bir tamsayı veya bir arabellek nesnesi).timeoutgönderme işlemi için beklenecek milisaniye cinsinden zaman aşımıdır.
Dönüş değeri: gönderilen bayt sayısı.
- irq(handler: Callable[[USB_VCP], None] | None = None, trigger: int = IRQ_RX, hard: bool = False) None¶
trigger tarafından belirtilen bir olay her gerçekleştiğinde çağrılacak handler fonksiyonunu kaydeder. handler fonksiyonu tam olarak bir argüman almalıdır; bu, USB VCP nesnesi olacaktır. Geri çağırmayı (callback) devre dışı bırakmak için
Nonegeçirin.trigger için geçerli değerler şunlardır:
USB_VCP.IRQ_RX: USB VCP nesnesinden okunmak üzere yeni veri mevcuttur.
Sabitler¶
- RTS: int¶
init()için akış kontrolü bayrağı.RTSetkinleştirildiğinde, okuma arabelleği dolduğunda cihaz ana makinenin iletimini kısıtlar.