闪电 发表于 2022-1-20 09:48:54

MicroPython 库

MicroPython 库警告本节重要摘要
[*]MicroPython 提供了反映 Python 标准库功能的内置模块(例如os, time),以及 MicroPython 特定的模块(例如bluetooth, machine)。
[*]大多数标准库模块实现了等效 Python 模块的功能子集,并在少数情况下提供了一些特定于 MicroPython 的扩展(例如array, os)
[*]由于资源限制或其他限制,某些端口或固件版本可能不包括此处记录的所有功能。
[*]为了实现可扩展性,内置模块可以从加载到设备上的 Python 代码进行扩展。

本章介绍 MicroPython 中内置的模块(函数和类库)。本文档通常希望描述在 MicroPython 项目中实现的所有模块和函数/类。但是,MicroPython 是高度可配置的,并且特定板/嵌入式系统的每个端口可能仅包含可用 MicroPython 库的一个子集。考虑到这一点,请注意本文档中描述的模块(甚至整个模块)中的某些函数/类在 特定系统上的特定 MicroPython 版本中可能不可用 。查找特定功能的可用性/不可用性的一般信息的最佳位置是“一般信息”部分,其中包含与特定MicroPython 端口相关的信息。在某些端口上,您可以通过在 REPL输入以下内容来发现可用的内置库:help('modules')

除了本文档中描述的内置库之外,还可以在micropython-lib中找到 Python 标准库中的更多模块以及对它的进一步 MicroPython 扩展。Python 标准库和微型库以下标准 Python 库已被“微化”以符合 MicroPython 的理念。它们提供该模块的核心功能,旨在替代标准 Python 库。
[*]array – 数值数据数组
[*]binascii – 二进制/ASCII 转换
[*]builtins – 内置函数和异常
[*]cmath – 复数的数学函数
[*]collections – 集合和容器类型
[*]errno – 系统错误代码
[*]gc – 控制垃圾收集器
[*]hashlib – 散列算法
[*]heapq – 堆队列算法
[*]io – 输入/输出流
[*]json – JSON 编码和解码
[*]math – 数学函数
[*]os – 基本的“操作系统”服务
[*]re – 简单的正则表达式
[*]select – 等待一组流上的事件
[*]socket – 插座模块
[*]ssl – SSL/TLS 模块
[*]struct – 打包和解包原始数据类型
[*]sys – 系统特定功能
[*]time – 时间相关功能
[*]uasyncio — 异步 I/O 调度器
[*]zlib – zlib 解压
[*]_thread – 多线程支持


MicroPython 特定的库以下库中提供了特定于 MicroPython 实现的功能。
[*]bluetooth — 低级蓝牙
[*]btree – 简单的 BTree 数据库
[*]cryptolib – 密码密码
[*]framebuf —帧缓冲区操作
[*]machine — 与硬件相关的功能
[*]micropython – 访问和控制 MicroPython 内部结构
[*]neopixel — WS2812 / NeoPixel LED 的控制
[*]network — 网络配置
[*]uctypes – 以结构化的方式访问二进制数据


特定于端口的库在某些情况下,以下特定于端口/板的库具有与库中的功能或类类似的功能或类machine 。在发生这种情况时,端口特定库中的条目公开了该平台独有的硬件功能。要编写可移植代码,请使用machine 模块中的函数和类。要访问特定于平台的硬件,请使用适当的库,例如pyb 在 Pyboard 的情况下。特定于 pyboard 的库以下库特定于 pyboard。
[*]pyb — 与董事会相关的职能
[*]时间相关功能
[*]重置相关功能
[*]中断相关函数
[*]电源相关功能
[*]杂项功能
[*]班级

[*]lcd160cr — LCD160CR显示控制
[*]LCD160CR级
[*]构造函数
[*]静态方法
[*]实例成员
[*]设置命令
[*]像素访问方法
[*]绘图文本
[*]绘制原始形状
[*]触摸屏方法
[*]高级命令
[*]常数



特定于 WiPy 的库以下库和类特定于 WiPy。
[*]wipy – WiPy 特定功能
[*]职能

[*]ADCWiPy 类 – 模数转换
[*]构造函数
[*]方法

[*]类 ADCChannel — 从内部或外部源读取模拟值
[*]TimerWiPy 类——控制硬件定时器
[*]构造函数
[*]方法

[*]类 TimerChannel — 为计时器设置通道
[*]方法
[*]常数



特定于 ESP8266 和 ESP32 的库以下库特定于 ESP8266 和 ESP32。
[*]esp — ESP8266 和 ESP32 相关功能
[*]职能

[*]esp32 — 特定于 ESP32 的功能
[*]职能
[*]闪存分区
[*]RMT
[*]超低功耗协处理器
[*]常数
[*]非易失性存储



特定于 RP2040 的库以下库特定于 RP2040,在 Raspberry Pi Pico 中使用。
[*]rp2 — RP2040 特有的功能
[*]PIO相关功能
[*]班级



Zephyr 特有的库以下库特定于 Zephyr 端口。
[*]zephyr — 特定于 Zephyr 端口的功能
[*]职能
[*]班级
[*]附加模块




从 Python 扩展内置库在大多数情况下,上述模块实际上是命名umodule 而不是 module,但 MicroPython 会将任何以 u 为前缀的模块作为非u 版本的别名。然而,名为的文件(或 f冻结模块) module.py 将优先于该别名。这允许用户提供内置库的扩展实现(可能是为了提供额外的 CPython 兼容性)。用户提供的模块 (in module.py) 仍然可以通过umodule直接导入来使用内置功能 。这在 micropython-lib中被广泛使用。有关详细信息,请参阅 分发包、包管理和部署应用程序 。这适用于Python标准库(如 os, time等),也有MicroPython库太(如 machine, bluetooth等)。主要的例外是端口专用库(pyb, esp等)。除了当您特别想强制使用内置模块时,我们建议始终使用“import module”而不是“import umodule”。

Angelnot 发表于 2022-2-5 00:55:39

-

I here am casual, but was specially registered to participate in discussion.

ChinaPaype 发表于 2022-3-10 08:12:30

-

It seems to me it is excellent idea. Completely with you I will agree.

ChinaPaype 发表于 2022-4-2 13:55:59

-

your phrase it is brilliant

ChinaPaype 发表于 2022-4-19 00:00:50

-

What is it the word means?

ChinaPaype 发表于 2022-4-26 11:28:04

-

I can not take part now in discussion - it is very occupied. But I will soon necessarily write that I think.

DavidLop 发表于 2022-5-29 10:45:33

-

I apologise, but, in my opinion, you are not right. I suggest it to discuss. Write to me in PM, we will communicate.

Karenpoics 发表于 2022-6-11 08:11:32

-

I congratulate, what words..., an excellent idea

GlendaUtero 发表于 2022-6-15 20:07:38

-

It is remarkable, it is the valuable answer

AmeliaUtero 发表于 2022-7-8 08:20:12

-

You commit an error. Write to me in PM, we will discuss.
页: [1]
查看完整版本: MicroPython 库