class USB_VCP – USB 가상 통신 포트¶
USB_VCP 클래스는 USB 가상 통신 포트를 나타내는 stream류 객체를 생성할 수 있게 합니다. 이를 사용하여 USB를 통해 연결된 호스트와 데이터를 읽고 쓸 수 있습니다.
생성자¶
- class pyb.USB_VCP(id: int = 0)¶
새
USB_VCP객체를 생성합니다. id 인자는 둘 이상의 포트가 노출된 경우 사용할 USB VCP 포트를 선택합니다.메서드¶
- init(*, flow: int = -1) None¶
USB VCP 포트를 구성합니다. flow 인자가
-1이 아니면 흐름 제어를 설정하며, 이는USB_VCP.RTS와USB_VCP.CTS의 비트 OR입니다.RTS는 읽기 동작을 게이트하고CTS는 쓰기 동작을 게이트합니다.
- setinterrupt(chr: int) None¶
실행 중인 Python 코드를 중단시키는 문자를 설정합니다. 기본값은 3(CTRL-C)이며, USB VCP 포트를 통해 CTRL-C 문자가 수신되면 KeyboardInterrupt 예외가 발생합니다.
이 인터럽트 기능을 비활성화하려면 -1로 설정하십시오. USB VCP 포트를 통해 원시 바이트를 보내려는 경우에 유용합니다.
- read(nbytes: int | None = None) bytes | None¶
직렬 장치에서 최대
nbytes만큼 읽어 bytes 객체로 반환합니다.nbytes가 지정되지 않으면 이 메서드는 직렬 장치에서 사용 가능한 모든 바이트를 읽습니다. USB_VCP stream은 암묵적으로 논블로킹 모드로 동작하므로, 대기 중인 데이터가 없으면 이 메서드는None값과 함께 즉시 반환됩니다.
- readinto(buf: bytearray, maxlen: int | None = None) int | None¶
직렬 장치에서 바이트를 읽어 버퍼류 객체여야 하는
buf에 저장합니다. 최대len(buf)바이트를 읽습니다.maxlen이 주어지면 최대min(maxlen, len(buf))바이트를 읽습니다.buf로 읽어 저장된 바이트 수를 반환하거나, 대기 중인 데이터가 없으면None을 반환합니다.
- readline() bytes | None¶
직렬 장치에서 한 줄 전체를 읽습니다.
후행 개행 문자를 포함한 데이터를 담은 bytes 객체를 반환하거나, 대기 중인 데이터가 없으면
None을 반환합니다.
- readlines() List[bytes]¶
직렬 장치에서 가능한 한 많은 데이터를 읽어 여러 줄로 나눕니다.
각 객체가 한 줄인 bytes 객체의 리스트를 반환합니다. 각 줄에는 개행 문자가 포함됩니다.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
버스에서 데이터를 수신합니다:
data는 수신할 바이트 수를 나타내는 정수이거나, 수신한 바이트로 채워질 변경 가능한 버퍼일 수 있습니다.timeout은 수신을 기다리는 시간으로, 밀리초 단위입니다.
반환 값:
data가 정수이면 수신한 바이트로 이루어진 새 버퍼를, 그렇지 않으면data로 읽어들인 바이트 수를 반환합니다.
- send(data: int | bytes | bytearray, *, timeout: int = 5000) int¶
USB VCP를 통해 데이터를 보냅니다:
data는 보낼 데이터입니다(보낼 정수 또는 버퍼 객체).timeout은 전송을 기다리는 시간으로, 밀리초 단위입니다.
반환 값: 보낸 바이트 수.
- irq(handler: Callable[[USB_VCP], None] | None = None, trigger: int = IRQ_RX, hard: bool = False) None¶
trigger로 지정된 이벤트가 발생할 때마다 호출될 handler를 등록합니다. handler 함수는 정확히 하나의 인자를 받아야 하며, 이 인자는 USB VCP 객체가 됩니다. 콜백을 비활성화하려면
None을 전달하십시오.trigger에 유효한 값은 다음과 같습니다:
USB_VCP.IRQ_RX: USB VCP 객체에서 읽을 새 데이터가 사용 가능합니다.
상수¶