机器

machine 模块包含与 micro:bit 硬件相关的特定功能。该模块中的大多数功能允许实现对系统硬件块(如 CPU、定时器、总线等)的直接和不受限制的访问和控制。使用不当,这可能会导致电路板故障、锁定、崩溃,在极端情况下还会导致硬件损坏。

职能

machine.unique_id()

返回具有板的唯一标识符的字节字符串。它会因一个板实例而异。

machine.reset()

以类似于按下外部 RESET 按钮的方式重置设备。

machine.freq()

以赫兹为单位返回 CPU 频率。

machine.disable_irq()

禁用中断请求。返回应被视为不透明值的先前 IRQ 状态。此返回值应传递给 machine.enable_irq()函数以将中断恢复到machine.disable_irq() 调用之前的原始状态。

machine.enable_irq(state)

重新启用中断请求。该状态参数应该是从最近一次调用的返回值 machine.disable_irq()的功能。

machine.time_pulse_us(pin, pulse_level, timeout_us=1000000)

在给定的pin上计时脉冲,并以微秒为单位返回脉冲的持续时间。所述pulse_level参数应该是0到时间低脉冲或1到时刻高脉冲。

如果引脚的当前输入值与pulse_level不同,函数首先 (*) 等待直到引脚输入变得等于 pulse_level,然后 (**) 乘以引脚等于pulse_level的持续时间 。如果引脚已经等于pulse_level,则计时立即开始。

如果在上面标记 (*) 的条件等待超时,则该函数将返回 -2,如果在主要测量期间超时,则返回 -1,标记为 (**)。两种情况的超时时间相同,由timeout_us给出 (以微秒为单位)。

阅读记忆

machine 模块允许您从设备的内存中读取,从物理地址获取 1 字节(8 位;mem8)、2 字节(16 位;mem16mem32)字。例如:mem8[0x00]在物理地址上读取 1 个字节0x00。这有很多用途,例如,如果您想从 nRF51 寄存器读取数据。