pyb --- các hàm liên quan đến bo mạch¶
Cảnh báo
Module pyb đã bị khai thác lỗi thời. Hãy sử dụng module machine có thể chuyển cổng cho mã mới -- module này cung cấp cùng chức năng trên mọi OpenMV Cam bất kể họ MCU, trong khi pyb chỉ tồn tại trên các bo mạch dựa trên STM32. pyb được giữ lại để tương thích ngược với các tập lệnh cũ hơn, không có tính năng mới nào sẽ được thêm vào, và nó có thể bị loại bỏ trong bản phát hành tương lai.
Module pyb chứa các hàm đặc trưng cho STM32 liên quan đến bo mạch.
Các hàm khác¶
- pyb.have_cdc() bool¶
Trả về True nếu USB được kết nối như một thiết bị nối tiếp, False nếu không.
Ghi chú
Hàm này đã bị khai thác lỗi thời. Hãy sử dụng pyb.USB_VCP().isconnected() thay thế.
- pyb.hid(data: Tuple[int, int, int, int]) None¶
Nhận một tuple 4 phần tử (hoặc danh sách) và gửi nó đến máy chủ USB (PC) để báo hiệu sự kiện di chuyển chuột HID.
Ghi chú
Hàm này đã bị khai thác lỗi thời. Hãy sử dụng
pyb.USB_HID.send()thay thế.
- pyb.main(filename: str) None¶
Đặt tên tệp của tập lệnh chính để chạy sau khi boot.py hoàn thành. Nếu hàm này không được gọi thì tệp mặc định main.py sẽ được thực thi.
Chỉ có ý nghĩa khi gọi hàm này từ bên trong boot.py.
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
Ghi chú
Hàm này đã bị khai thác lỗi thời. Hãy sử dụng
vfs.mount()/vfs.umount()và thiết bị khối dẫn xuất từvfs.AbstractBlockDevthay thế.Gắn kết một thiết bị khối tại
mountpoint.devicephải triển khai giao thức thiết bị khối pyb kế thừa (cũng đã bị khai thác lỗi thời -- xemvfs.AbstractBlockDevcho giao diện hiện đại):Phương thức
Mục đích
readblocks(self, blocknum, buf)Sao chép
bufbyte từ thiết bị bắt đầu tại khốiblocknum. Độ dài củabuflà bội số của 512.writeblocks(self, blocknum, buf)(tùy chọn)Ghi
bufvào thiết bị bắt đầu tại khốiblocknum. Nếu bị bỏ qua, thiết bị được gắn kết chỉ đọc.count(self)Trả về số khối 512-byte trên thiết bị.
sync(self)(tùy chọn)Xả tất cả các ghi được lưu vào bộ đệm.
mountpointlà đường dẫn trong gốc của hệ thống tệp để gắn kết thiết bị; nó phải bắt đầu bằng dấu gạch chéo về phía trước.readonlybuộc gắn kết chỉ đọc.mkfstạo một hệ thống tệp mới nếu chưa có.
- pyb.repl_uart(uart: UART | None = None) UART | None¶
Lấy hoặc đặt đối tượng UART nơi REPL được lặp lại.
- pyb.usb_mode(modestr: str | None = None, port: int = -1, vid: int = 0xf055, pid: int = -1, msc: Tuple = (), hid: Tuple = pyb.hid_mouse, high_speed: bool = False) str | None¶
Nếu được gọi mà không có đối số, trả về chế độ USB hiện tại dưới dạng chuỗi.
Nếu được gọi với modestr, cố gắng cấu hình chế độ USB. Các giá trị sau của modestr được hiểu:
modestr
Cấu hình
NoneTắt USB.
'VCP'Chỉ VCP (Cổng COM Ảo).
'MSC'Chỉ MSC (lớp lưu trữ đại chúng USB).
'VCP+MSC'VCP và MSC.
'VCP+HID'VCP và HID (thiết bị giao diện người dùng).
'VCP+MSC+HID'VCP, MSC và HID cùng nhau. Không được hỗ trợ trên mọi OpenMV Cam.
Để tương thích ngược,
'CDC'được hiểu là'VCP'(và tương tự cho'CDC+MSC'và'CDC+HID').Tham số port phải là số nguyên (0, 1, ...) và chọn cổng USB nào sẽ sử dụng nếu bo mạch hỗ trợ nhiều cổng. Giá trị -1 sử dụng cổng mặc định hoặc được chọn tự động.
Tham số vid và pid cho phép bạn chỉ định VID (ID nhà cung cấp) và PID (ID sản phẩm). Giá trị pid là -1 sẽ chọn PID dựa trên giá trị của modestr.
Nếu bật chế độ MSC, tham số msc có thể được sử dụng để chỉ định danh sách SCSI LUN cần hiển thị trên giao diện lưu trữ đại chúng. Ví dụ:
msc=(pyb.Flash(), pyb.SDCard()).Nếu bật chế độ HID, bạn cũng có thể chỉ định chi tiết HID bằng cách truyền tham số từ khóa hid. Nó nhận một tuple gồm (subclass, protocol, độ dài gói tối đa, khoảng thời gian polling, bộ mô tả báo cáo). Theo mặc định, nó sẽ đặt các giá trị thích hợp cho chuột USB. Ngoài ra còn có hằng số
pyb.hid_keyboard, là một tuple thích hợp cho bàn phím USB.Tham số high_speed, khi được đặt thành
True, bật chế độ USB HS nếu phần cứng hỗ trợ.
Hằng số¶
Cả hai hằng số dưới đây đều là tuple 5 phần tử có sẵn ở dạng
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
phù hợp để truyền vào đối số hid của usb_mode() để làm cho OpenMV Cam xuất hiện với máy chủ như một thiết bị USB HID. subclass = 1 có nghĩa là "giao diện khởi động" và protocol chọn lớp thiết bị khởi động (1 = bàn phím, 2 = chuột). Phần tử thứ năm là đối tượng bytes chứa bộ mô tả báo cáo HID được sử dụng khi máy chủ liệt kê thiết bị.
- pyb.hid_mouse: tuple¶
Bộ mô tả HID dựng sẵn cho chuột khởi động 3 nút với chuyển động X/Y tương đối. Tuple là
(1, 2, 4, 8, <mouse report descriptor>): subclass khởi động, giao thức chuột, báo cáo đầu vào 4 byte (mặt nạ nút + X + Y + bánh xe), được polling mỗi 8 ms. Bộ mô tả báo cáo tích hợp là bộ được sử dụng bởipyb.USB_HID().send((buttons, dx, dy, wheel)).
- pyb.hid_keyboard: tuple¶
Bộ mô tả HID dựng sẵn cho bàn phím khởi động USB. Tuple là
(1, 1, 8, 8, <keyboard report descriptor>): subclass khởi động, giao thức bàn phím, báo cáo đầu vào 8 byte (byte bộ điều chỉnh, một byte dự phòng, sáu mã phím đồng thời), được polling mỗi 8 ms. Bộ mô tả báo cáo tích hợp khớp với bố cục bàn phím khởi động HID 8 byte chuẩn, vì vậy báo cáo được gửi quaUSB_HID.send()phải làbytescó dạng(modifiers, 0, key1, key2, key3, key4, key5, key6).
Các lớp¶
- lớp ADC -- chuyển đổi tương tự sang số
- lớp ADCAll -- truy cập tất cả các kênh ADC
- lớp CAN -- bus giao tiếp mạng điều khiển khu vực
- lớp DAC -- chuyển đổi số sang tương tự
- lớp ExtInt -- cấu hình chân I/O để ngắt khi có sự kiện bên ngoài
- lớp Flash -- truy cập bộ nhớ flash tích hợp
- lớp I2C -- giao thức nối tiếp hai dây
- lớp LED -- đèn LED trên bo mạch
- lớp Pin -- điều khiển chân I/O
- lớp PinAF -- chức năng thay thế của chân
- lớp RTC -- đồng hồ thời gian thực
- lớp Servo -- trình điều khiển servo hobby 3 dây
- lớp SPI -- giao thức nối tiếp do bộ điều khiển điều khiển
- class Timer -- điều khiển bộ định thời nội bộ
- class TimerChannel -- thiết lập một kênh cho bộ định thời
- lớp UART -- bus truyền thông nối tiếp song công
- lớp USB_HID -- Thiết bị giao diện người dùng USB (HID)
- lớp USB_VCP -- cổng truyền thông ảo USB