MaixPy的标准库

前言

现在我们就要谈一下MaixPy的功能了,如同所有语言一般,MaixPy也是有自己的语法的,那就是Micropython的库,通信的库,MaixPy开发板特有的库等,其中会有许多常用的函数,我们需要了解他们在需要的时候可以及时找到,灵活应用,这个不需要全部记住,不过在几个常用的板块,如FPIOA(可编程引脚)KPU(神经元网络加速),我们还是要好好理解一下的。
本文中例程还未实践完毕。
接下来,我来把MaixPy的功能简介一下,其所含函数会以链接形式编写,希望对大家有帮助。顺便说一下,英语好在这部分真的很占优势,我这种渣渣,学完了也认识了几个单词,快上车吧。
MaixPy的标准库

标准库

标准库里是类库和函数的集合,支持部分语言特性和常用的函数。

1. cmath

复数的数学函数,提供了一些处理复数的基本数学函数。

2.gc

控制垃圾收集器,此函数是MicroPython扩展。要求用“malloc”或“new”分配内存,使用用户内存管理自动化,任务是跟踪所有对象被引用到的地方。

3.math

提供了一些处理浮点数的基本数学函数。

4.sys

系统特定功能。

5.ubinascii

以ASCII格式(两个方向)实现二进制数据与其各种编码之间的转换。

6.ucollections

集合和容器类型,用高级集合和容器类型以保存/累积各种对象。

7.uctypes

以结构化方式访问二进制数据,允许访问机器的任意内存地址(包括I / O和控制寄存器),要小心,可能会导致崩溃,数据丢失,甚至硬件故障。

定义结构布局

结构布局由“描述符”定义 ,一个Python字典,它将字段名称编码为键,以及将它们作为关联值访问它们所需的其他属性。uctypes需要明确规定每个字段的偏移量,从结构开始以字节为单位给出偏移量。不同字段类型的编码和偏移量不同。

结构描述符和实例化结构对象

可以使用uctypes.struct()构造函数在给定的内存地址实例化特定的结构实例。

8.uerrno

系统错误代码,所有错误代码均以 “E” 开头。

9.uheapq

堆队列算法,也称为优先队列算法,堆队列只是一个以某种方式存储其元素的列表。

10.ujson

允许在 Python 对象和 JSON 数据格式之间进行转换。

11.uos

基本的“操作系统”服务,包含用于文件系统访问和挂载,终端重定向和复制以及uname和urandom等函数。

12.ure

简单的正则表达式,又称规则表达式。通常被用来检索、替换那些符合某个模式(规则)的文本。

13.usocket

套接字模块,提供对BSD套接字接口的访问。
套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。
注:下载图片并显示和发送图片例程未实现

14.ustruct

打包和解包原始数据类型。

15.utime

提供获取当前时间和日期,测量时间间隔和延迟的功能。

16.uzlib

允许解压使用 DEFLATE 算法压缩的二进制数据(通常用于zlib库和gzip存档器)。这个类是MicroPython扩展。它包含在临时基础上,可能会在以后的版本中进行大量更改或删除。

machine

主要包含了与硬件相关的各种接口,是通信的库。

1.I2C

总线协议,简单地使用两条线(SCL,SDA)可以控制多个从机(主机模式)。
扫描从机设备例程与输出如图(小白的几个从机的例程结果都如箭头所指MaixPy的标准库

2.PWM

脉宽调制模块, 硬件支持的PWM, 可以指定任意引脚(0到47引脚)。
注:未实现,需要示波器

3.SPI

串行外设接口(Serial Peripheral Interface)的缩写,一个同步串行协议,由主机和从机组成。在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。

基本读写例程实现结果如下图(此过程亮两个红灯,一个蓝灯,其中一个红灯闪烁)MaixPy的标准库

4.Timer

硬件定时器,可以用来定时触发任务或者处理任务,设定时间到了后可以触发中断(调用回调函数),精度比软件定时器高。 需要注意的是,定时器在不同的硬件中可能会有不同的表现。
那为什么要使用定时器呢?
比如说一个web应用,如果这个应用规模很大,那它的日志数据是不是很多。如果一直存下来服务器的存储量怕是不行吧,需要隔一段时间删除,那么就需要一个线程每隔一段时间去删除日志数据。
注:例程有语法错误,未执行成功

5.UART

主要用于驱动开发板上的异步串口,通用异步收发传输器。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。
注:例程1暂时没有杜邦线,还未实践。

6.network