machine
—与硬件相关的功能¶
该 machine
模块包含与特定板上硬件相关的特定功能。该模块中的大多数功能允许实现对系统硬件块(如 CPU、定时器、总线等)的直接和不受限制的访问和控制。使用不当,这可能会导致电路板故障、锁定、崩溃,在极端情况下还会导致硬件损坏。
A note of callbacks used by functions and class methods of machine
模块的函数和类方法使用的回调的注意事项:所有这些回调都应被视为在中断上下文中执行。对于 ID >= 0 的物理设备和具有负 ID(如 -1)的“虚拟”设备(这些“虚拟”设备仍然是真实硬件和真实硬件中断之上的薄垫片)都是如此。请参阅编写中断处理程序。
杂项功能¶
-
machine.
unique_id
()¶ 返回具有板/SoC 唯一标识符的字节字符串。如果底层硬件允许,它会因板/SoC 实例而异。长度因硬件而异(因此,如果您希望使用短 ID,请使用完整值的子字符串)。在某些 MicroPython 端口中,ID 对应于网络 MAC 地址。
-
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.
rng
()¶ 返回一个 24 位软件生成的随机数。
可用性:WiPy。