MicroPython——关于machine模块的学习(持续更新)
machine模块也许是我们最熟悉的,但是这里还是要讲解一些,关于machine模块的应用,这里我们基本上是以raspberry PI Pico为模型机来进行讲解。
machine 模块包含与特定电路板上的硬件相关的特定功能。该模块中的大多数功能允许直接和不受限制地访问和控制系统上的硬件块(如CPU,定时器,总线等)。 使用不当,可能导致故障,锁定,电路板崩溃,以及在极端情况下硬件损坏。
首先,我们先说machine之间的函数,然后在说关于machine下面关于一些类的用法。
1、复位相关函数
machine.reset() | 此函数功能是复位系统,就像按下了复位键一样。注意当使用 USB_VCP作为REPL时,执行此函数会丢失USB连接 |
machine.raset_cause() | 获取复位的原因 |
实际测试:
在这里不显示所谓的复位原因,我们可以从下面的复位原因中查看我们所得到的复位原因是什么,从而解决问题
重启原因的宏定义 | 数值 | 含义 |
PWRON_RESET | 1 | 上电重启 |
HARD_RESET | 2 | 硬重启 |
WDT_RESET | 3 | 看门狗计时器重启 |
DEEPSLEEP_RESET | 4 | 从休眠重启 |
SOFT_RESET | 5 | 软重启 |
2、中断相关函数
machine.disable_irq() | 禁用中断请求。返回先前的IRQ状态,该状态应被视为不透明值。 enable_irq() 在 disable_irq() 调用之前, 应将此返回值传递给函数以将中断恢复到其原始状态。 |
machine.enable_irq(state) | 禁用中断请求。返回先前的IRQ状态,该状态应被视为不透明值。 enable_irq() 在 disable_irq() 调用之前, 应将此返回值传递给函数以将中断恢复到其原始状态。 |
3、电源相关函数
import machine
machine.freq() #返回 CPU 频率,单位Hz