MicroPython 特定的库 (MicroPython-specific) - machine

MicroPython 特定的库 (MicroPython-specific) - machine

以下库中提供了特定于 MicroPython 实现的功能。

  • bluetooth — 低级蓝牙
  • btree – 简单的 BTree 数据库
  • cryptolib——加密密码
  • framebuf — 帧缓冲区操作
  • machine — 与硬件相关的函数
  • micropython – 访问和控制 MicroPython 内部
  • neopixel — WS2812 / NeoPixel LED 的控制
  • network — 网络配置
  • ntptime — 时间同步
  • uctypes——以结构化方式访问二进制数据

machine - 与硬件相关的功能

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

  • Pin – 控制 I/O 引脚
  • ADC – 模数转换
  • TouchPad – 触摸
  • PWM – 脉冲宽度调制
  • UART – 双工串行通信总线
  • I2C – 双线串行协议
  • SPI – 串行外设接口总线协议 (主端)
  • Timer – 控制硬件定时器
  • RTC – 实时时钟
  • WDT – 看门狗定时器

Pin – 控制 I/O 引脚
引脚对象用于控制 I / O 引脚(也称为GPIO - 通用输入/输出)。引脚对象通常与可以驱动输出电压和读取输入电压的物理引脚相关联。 引脚类具有设置引脚模式(IN,OUT等)的方法以及获取和设置数字逻辑电平的方法。通过使用明确指定某个I / O引脚的标识符来构造引脚对象。允许的标识符形式和标识符映射到的物理引脚是特定于端口的。 标识符的可能性是整数,字符串或具有端口和引脚号的元组。

以下示例代码为针对 I/O 引脚 33 进行输出 (output) 操作。
参考代码

from machine import Pin

# create an output pin on pin #33
p0 = Pin(33, Pin.OUT)

# set the value low then high
p0.value(0)
p0.value(1)

classPin.Pin(id, mode=1, pull=1, value, drive, alt)
访问与给定相关的引脚外设(GPIO引脚) id 。如果在构建对象中给出了其他参数,则它们用于初始化引脚。 未指定的任何设置将保持其先前的状态。

参数:

  • id 是强制性的,可以是任意对象。可能的值类型包括:int(内部引脚标识符),str(引脚名称)和元组([port,pin]对)。如是使用mPython,可用Pin.P(0~20),例如(Pin.P0)P0引脚提供映射为GPIO。
  • mode 指定引脚模式,可以是以下之一:
    • Pin.IN - 引脚配置为输入。如果将其视为输出,则引脚处于高阻态。
    • Pin.OUT - 引脚配置为(正常)输出。
    • Pin.OPEN_DRAIN -引脚配置为开漏输出。开漏输出以下列方式工作:如果输出值设置为0,则引脚处于低电平有效; 如果输出值为1,则引脚处于高阻态。并非所有端口都实现此模式,或某些端口可能仅在某些引脚上实现。
    • Pin.ALT_OPEN_DRAIN - 引脚配置为漏极开路。
  • pull 指定引脚是否连接了(弱)拉电阻,可以是以下之一:
    • None - 无上拉或下拉电阻
    • Pin.PULL_UP - 上拉电阻使能
    • Pin.PULL_DOWN - 下拉电阻使能
  • value 仅对 Pin.OUT 和 Pin.OPEN_DRAIN 模式有效,并指定初始输出引脚值,否则引脚外设的状态保持不变。

Pin.on()
设置引脚为高电平

Pin.off()
设置引脚为低电平

PWM – 脉冲宽度调制

machine.PWM(pin, freq, duty)
创建与设定引脚关联的 PWM 对象。这样就可以写该引脚上的模拟值。

  • pin: 支持 PWM 的引脚 GPIO0、GPIO2、GPIO4、GPIO5、GPIO10、GPIO1219、GPIO21、GPIO22、GPIO23、GPIO2527。详见 ESP32引脚功能表.
  • freq: 频率,0 < freq <= 78125 Hz,代表充电频率,数值低的话会闪烁,数值高的话高源比较稳定。
  • duty: 占空比, 0 ≤ duty ≤ 0x03FF (十进制:0 ≤ duty ≤ 1023),代表亮度,数值越高,越亮。

PWM.init(freq, duty)
初始化 PWM的 freq 与 duty。

PWM.freq([freq_val])
当没有参数时,函数获得并返回PWM频率。当设置参数时,函数用来设置PWM频率,无返回值。

PWM.deinit()
关闭PWM。PWM使用完了之后,需要注销 deinit() 。

以下示例代码为针对 I/O 引脚 4 进行脉冲宽度调制操作,取得原始频率,并改为 10,暂停 5 秒,观察改变后效果,再设定 duty 为 5 ,暂停 5 秒,观察改变后效果,最后关闭PWM。

参考代码

from machine import Pin, PWM
import time
pwm = PWM(Pin(4))         # create PWM object from a pin
print(pwm.freq())          # get current frequency (default 5kHz)
time.sleep(5)
pwm.freq(10)            # set PWM frequency from 1Hz to 40MHz
time.sleep(5)

print(pwm.duty())         # get current duty cycle, range 0-1023 (default 512, 50%)
pwm.duty(5)             # set duty cycle from 0 to 1023 as a ratio duty/1023, (now 25%)
time.sleep(5)
pwm.deinit()

输出结果为:

5000
512

参考资料

  • mPython help documentation, https://mpython.readthedocs.io/en/master/index.html
  • MicroPython 文档, http://micropython.86x.net/en/latet/index-2.html
  • MicroPython documentation, https://docs.micropython.org/en/latest/index.html
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Domain-specific指的是特定领域,例如医疗、金融、法律等。在人工智能中,Domain-specific AI是指专门针对某个特定领域进行训练和优化的人工智能模型。这些模型能够更好地理解特定领域的术语、语言和概念,并具有更高的准确性和效率。相比于通用的AI模型,Domain-specific AI能够更好地满足特定领域的需求,提高工作效率和精确度。例如,医疗领域的AI模型可以识别和诊断疾病,金融领域的AI模型可以预测市场趋势,法律领域的AI模型可以帮助律师快速查找相关法律文献等。 ### 回答2: Domain-specific特定领域)是一个术语,用于指代在特定领域中具有专门知识和技能的个体或工具。在各种行业和领域中,人们通常根据特定的需求和目标来开发和利用特定领域的专业知识。 Domain-specific 可以应用于几乎所有的领域,包括科学、技术、医学、金融、教育等。在科学研究中,科学家们可能会使用特定领域的术语和方法,以便更好地了解和解决特定的科学问题。同样,医生和护士也需要具备特定领域的医学知识和技能,以便提供正确的诊断和治疗。 在计算机科学中,也有一些特定领域的技术和知识,例如自然语言处理(NLP)和机器学习。这些领域需要专门的技术和算法,以便处理和分析特定领域的数据。 特定领域的专业知识对于解决特定的问题非常重要。通过专门领域的研究和实践,人们可以建立起对该领域的深入理解,并开发出适用于该领域的解决方案和工具。 总而言之,Domain-specific 指的是在特定领域中具备专门知识和技能的个体或工具。这些个体或工具通过深入研究和实践,能够更好地理解和解决该领域中的问题。无论是在科学、技术或医学领域,都可以应用特定领域的专业知识来提升工作效果和结果质量。 ### 回答3: Domain-specific是指特定领域的。在计算机科学领域中,Domain-specific是指针对特定领域的问题或需求而设计的软件、工具或模型。 Domain-specific的设计理念是根据特定领域的特点和需求来定制解决方案。这种定制化的设计可以提高效率和准确性,并且能够更好地满足用户的需求。与之相对应的是通用性软件和方法,它们是面向多个领域的通用解决方案。 Domain-specific的一个明显的优势是专业性。由于专门针对某个领域进行设计,Domain-specific解决方案可以更加贴合该领域的特点和需求。例如,在生物信息学领域,针对DNA序列分析的软件工具可以提供特定的算法和功能,以更好地处理和分析基因数据。 另一个优势是易于使用。由于针对特定领域进行设计,Domain-specific的软件或工具通常被开发为更加易于理解和操作的界面。这降低了学习和使用的成本,使非专业用户也能够轻松地利用这些工具解决领域相关问题。 然而,Domain-specific也有一些限制。对于泛化性较强的问题,Domain-specific解决方案可能无法提供足够的灵活性和适应性。此外,由于针对特定领域设计,Domain-specific解决方案通常无法直接应用于其他领域,这可能导致资源重复和效率低下。 综上所述,Domain-specific是指根据特定领域的需求和特点而设计的解决方案。它具有专业性和易用性的优势,但也受到领域限制和泛化问题的限制。在特定领域中,Domain-specific的应用可以提供高效、准确和定制化的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值