词汇表

裸机

没有(成熟的)操作系统的系统,例如基于 MCU的系统。在裸机系统上运行时,MicroPython 有效地像一个小型操作系统一样运行,运行用户程序并提供命令解释器 (REPL)。

缓冲协议

可自动转换成字节,如任何Python对象bytes, bytearray, memoryviewstr 对象,它们都实现了“缓冲协议”。

board

这通常是指包含微控制器和支持组件的印刷电路板 (PCB) 。MicroPython 固件通常是按板提供的,因为固件既包含特定于 MCU 的功能,也包含板级功能,例如驱动程序或引脚名称。

字节码

通过编译 Python 源代码生成的 Python 程序的紧凑表示。这就是 VM 实际执行的操作。字节码通常在运行时自动生成,对用户不可见。请注意,虽然CPython和 MicroPython 都使用字节码,但格式不同。您还可以使用 交叉编译器离线预编译源代码。

被调用者拥有的元组

这是特定于 MicroPython 的构造,出于效率原因,某些内置函数或方法可能会重用相同的底层元组对象来返回数据。这避免了必须为每次调用分配一个新元组,并减少堆碎片。程序不应持有对被调用者拥有的元组的引用,而应仅从中提取数据(或制作副本)。

电路Python

Adafruit Industries开发的 MicroPython 变体。

CPython

CPython 是 Python 编程语言的参考实现,也是最著名的一种。然而,它是众多实现中的一种(包括 Jython、IronPython、PyPy 和 MicroPython)。虽然 MicroPython 的实现与 CPython 有很大不同,但它旨在尽可能保持兼容性。

交叉编译器

也称为mpy-cross。此工具在您的 PC 上运行,并将包含 MicroPython 代码的.py 文件 转换为 包含 MicroPython 字节码的 .mpy 文件。这意味着它加载速度更快(电路板不必编译代码),并且在闪存上使用更少的空间(字节码的空间效率更高)。

驱动

实现对特定组件(例如传感器或显示器)的支持的 MicroPython 库。

FFI

外部函数接口的缩写。使用由A机构MicroPython Unix的端口 访问的操作系统功能。这在裸机 端口上不可用。

文件系统

大多数 MicroPython 端口和开发板提供了一个存储在闪存中的文件系统,用户代码可以通过标准的 Python 文件 API(例如open(). 一些板子还使主机可以通过 USB 大容量存储访问这个内部文件系统。

冻结模块

已交叉编译并捆绑到固件映像中的 Python 模块。由于直接从闪存执行代码,因此这减少了 RAM 要求。

垃圾收集器

在 Python(和 MicroPython)中运行以回收堆中未使用的内存的后台进程。

通用输入输出接口

通用输入/输出。控制微控制器上的电信号(通常称为“引脚”)的最简单方法。GPIO 通常允许引脚输入或输出,并设置或获取它们的数字值(逻辑“0”或“1”)。MicroPython 使用 machine.Pinmachine.Signal类抽象 GPIO 访问。

GPIO口

一组GPIO引脚,通常基于这些引脚的硬件属性(例如可通过同一寄存器控制)。

MicroPython 存储动态数据的 RAM 区域。它由垃圾收集器自动管理。不同的 MCU 和电路板具有非常不同的可用于堆的 RAM 量,因此这将影响您的程序的复杂程度。

字符串

MicroPython 用于提高处理字符串效率的优化。内部字符串由其(唯一)标识而非地址引用,因此可以仅通过其标识符进行快速比较。这也意味着可以在内存中删除相同的字符串。字符串实习几乎总是对用户不可见。

单片机

微控制器。微控制器的资源通常比台式机、笔记本电脑或手机少得多,但更小、更便宜并且需要的功率要少得多。MicroPython 被设计得足够小并且经过优化,可以在普通的现代微控制器上运行。

MicroPython 端口

MicroPython 支持不同的 boards、RTOS 和 OS,并且可以相对容易地适应新系统。支持特定系统的 MicroPython 被称为该系统的“端口”。不同的端口可能具有截然不同的功能。本文档旨在作为跨不同端口(“MicroPython 核心”)可用的通用 API 的参考。请注意,某些端口可能仍会省略此处描述的某些 API(例如,由于资源限制)。任何此类差异以及 MicroPython 核心功能之外的特定于端口的扩展,将在单独的特定于端口的文档中进行描述。

MicroPython Unix 端口

unix 端口是主要的MicroPython 端口之一。它旨在运行在兼容 POSIX 的操作系统上,如 Linux、MacOS、FreeBSD、Solaris 等。它也作为 Windows 端口的基础。Unix 端口对于快速开发和测试 MicroPython 语言和独立于机器的功能非常有用。它也可以以类似于CPythonpython 可执行文件的方式运行。

.mpy 文件

交叉编译器的输出。包含 MicroPython 字节码而不是 Python 源代码的 .py 文件 的编译形式 。

本国的

通常指“本地代码”,即目标微控制器(如ARM Thumb、Xtensa、x86/x64)的机器代码。该@native装饰可以应用到MicroPython函数生成原生代码,而不是字节码该功能,这将可能会更快,但是使用的RAM。

端口

通常是MicroPython 端口的缩写,但也可以指GPIO 端口

.py 文件

包含 Python 源代码的文件。

复制代码

“读取、评估、打印、循环”的首字母缩写词。这是交互式 Python 提示,可用于调试或测试短代码片段。大多数 MicroPython 板都通过 UART 提供 REPL,这通常可以通过 USB 在主机 PC 上访问。

溪流

也称为“类文件对象”。一个 Python 对象,它提供对底层数据的顺序读写访问。甲流对象实现一个对应的接口,它由方法喜欢 read(), write(), readinto(), seek(), flush(),close()等等流是在MicroPython一个重要的概念; 许多 I/O 对象实现了流接口,因此可以在不同的上下文中一致和互换使用。有关 MicroPython 中流的更多信息,请参阅io 模块。

串口

“通用异步接收器/发送器”的缩写。这是一个通过一对引脚(TX 和 RX)发送数据的外设。许多电路板都包含一种方法,可将至少一个 UART 作为 USB 串行端口提供给主机 PC。