三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 404|回复: 0
打印 上一主题 下一主题

特殊库-machine

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2017-8-23 08:43:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
machine — 板级函数
提供和硬件相关的函数
复位相关函数
  1. machine.reset()
复制代码
设备复位,效果和按下复位键一样
  1. machine.reset_cause()
复制代码
获取复位原因。
中断相关函数
  1. machine.disable_irq()
复制代码
禁止中断。返回先前的 IRQ 状态: False/True 对应 disabled/enabled IRQs,返回值可以用来恢复 IRQ 状态。
  1. machine.enable_irq(state=True)
复制代码
允许中断。如果 state 是 True (默认) 将允许 IRQs,否则禁止 IRQs,最常用的方式是在退出临界代码时将 disable_irq 返回值传递到函数。
功耗相关函数
  1. machine.freq()
复制代码
返回 CPU 频率(Hz)。
  1. machine.idle()
复制代码
中断到 CPU 的时钟,减少系统功耗。外设继续工作,发生任意中断后恢复运行 (大部分版本中,包括了系统定时器中断)。
  1. machine.sleep()
复制代码
停止 CPU 并禁止所有外设,除了 WLAN。唤醒后从休眠位置继续运行,休眠前需要首先配置唤醒源。
  1. machine.deepsleep()
复制代码
停止 CPU 和所有外设 (包括网络)。唤醒后从main.py开始运行,就像复位一样,可以通过 reset_cause 查看从什么地方运行。如果需要唤醒,需要先配置好唤醒源,,如 Pin 状态改变或 RTC 超时。
其它函数
  1. machine.unique_id()
复制代码
获取 board/SoC 的唯一序列号。如果底层硬件允许这个功能,每个板的 ID 都是不同的,ID 的长度由硬件决定 (因此可以使用完整值的子串如果希望得到短 ID)。在某些 MicroPython 版本中,使用网络 MAC 地址代表 ID。
  1. machine.time_pulse_us(pin, pulse_level, timeout_us=1000000)
复制代码
在指定引脚上输出脉冲, 返回脉冲持续时间(微秒)。
首先等待引脚上输入电平等于pulse_level,然后进行计时直到引脚电平和 pulse_level 电平不同。如果引脚电平已经和pulse_level相同,那么将立即开始计时。
函数在等待时间超时后会引发 ETIMEDOUT 异常。
常数
machine.IDLE
machine.SLEEP
machine.DEEPSLEEP
irq 唤醒参数
machine.POWER_ON
machine.HARD_RESET
machine.WDT_RESET
machine.DEEPSLEEP_RESET
machine.SOFT_RESET
复位原因
machine.WLAN_WAKE
machine.PIN_WAKE
machine.RTC_WAKE
wake reasons
唤醒原因
Classes
  1. class ADC – 模数转换
  2. class ADCChannel — ADC通道
  3. class I2C – IIC协议
  4. class Pin – 控制IO
  5. class RTC – r读取时钟
  6. class SD – SD卡
  7. class SPI – SPI协议
  8. class Timer – 定时器
  9. class TimerChannel — 设定定时器通道
  10. class UART – 串口协议
  11. class WDT – 看门口定时
复制代码



回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2026-2-3 23:53 , Processed in 0.248496 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表