pyb — 与板子相关的函数

pyb 模块包含与板子相关的特定函数。

杂项函数

pyb.have_cdc()

如果USB连接为串行设备,则返回True,否则返回False。

备注

此函数已被弃用。请改用 pyb.USB_VCP().isconnected() instead。

pyb.hid((buttons, x, y, z))

获取一个4元组(或列表)并将其发送到USB主机(PC)以发送HID鼠标移动事件。

备注

此函数已被弃用。请改用 pyb.USB_HID.send()

pyb.info([dump_alloc_table])

打印关于板子的大量信息。

pyb.main(filename)

将主脚本的文件名设置为在 boot.py 完成后运行。如果未调用此函数,则将执行默认文件 main.py。

仅在 boot.py 中调用此函数才有意义。

pyb.mount(device, mountpoint, *, readonly=False, mkfs=False)

备注

此函数已被弃用。设备的挂载和卸载应通过 vfs.mount()vfs.umount() 来执行。

挂载一个块设备并将其作为文件系统的一部分使其可用。device 必须是一个提供块协议的对象。(以下内容也已弃用。请参见 vfs.AbstractBlockDev 了解正确的块设备创建方式。)

  • readblocks(self, blocknum, buf)

  • writeblocks(self, blocknum, buf) (可选)

  • count(self)

  • sync(self) (可选)

readblockswriteblocks 应该在设备上从块号 blocknum 开始将数据复制到 buf 和设备之间。buf 将是一个长度为 512 的倍数的字节数组。如果未定义 writeblocks,则将只读方式挂载设备。这两个函数的返回值将被忽略。

count 应该返回设备上可用的块数。sync,如果实现了,应该同步设备上的数据。

参数 mountpoint 是文件系统根目录中挂载设备的位置。它必须以斜杠开头。

如果 readonlyTrue,则以只读方式挂载设备,否则以读写方式挂载。

如果 mkfsTrue,则如果不存在文件系统,则创建一个新的文件系统。

pyb.repl_uart(uart)

获取或设置 REPL 重复的 UART 对象。

pyb.rng()

返回一个 30 位硬件生成的随机数。

pyb.sync()

同步所有文件系统。

pyb.unique_id()

返回一个长度为 12 字节(96 位)的字符串,该字符串是 MCU 的唯一 ID。

pyb.usb_mode([modestr, ]port=-1, vid=0xf055, pid=-1, msc=(), hid=pyb.hid_mouse, high_speed=False)

如果不带参数调用,则以字符串形式返回当前USB模式。

如果在提供了 modestr*的情况下调用,则尝试配置 USB 模式。*modestr 的以下值被理解:

  • None:禁用 USB

  • 'VCP':启用 VCP(虚拟串口)接口

  • 'MSC':启用 MSC(大容量存储设备类)接口

  • 'VCP+MSC':启用 VCP 和 MSC

  • 'VCP+HID':启用 VCP 和 HID(人机界面设备)

  • 'VCP+MSC+HID':启用 VCP、MSC 和 HID(仅适用于 PYBD 板)

为了向后兼容,'CDC' 被理解为 'VCP'``(’CDC+MSC’`` 和 'CDC+HID' 也类似)。

port 参数应为整数(0、1、…),并选择要在板支持多个端口的情况下使用的 USB 端口。值为 -1 会使用默认或自动选择的端口。

vidpid 参数允许您指定 VID(供应商 ID)和 PID(产品 ID)。 pid 值为 -1 将根据 modestr 的值选择 PID。

如果启用 MSC 模式,则 msc 参数可用于指定要在大容量存储接口上公开的 SCSI LUN 列表。例如 msc=(pyb.Flash(), pyb.SDCard())

如果启用 HID 模式,还可以通过传递 hid 关键字参数来指定 HID 的详细信息。它接受一个元组(子类、协议、最大数据包长度、轮询间隔、报告描述符)。默认情况下,它将设置 USB 鼠标的适当值。还有一个 pyb.hid_keyboard 常量,它是 USB 键盘的适当元组。

当将 high_speed 参数设置为 True 时,如果硬件支持,则启用 USB HS 模式。

常量

pyb.hid_mouse
pyb.hid_keyboard

为 USB 鼠标或键盘设置适当值的元组(子类、协议、最大数据包长度、轮询间隔、报告描述符)。