单片机学习小组
直播中

张莹

8年用户 1108经验值
私信 关注

MicroPython库的简单说明

MicroPython库可分为哪几部分呢?分别是什么?


回帖(1)

卫斯晾

2022-1-20 09:40:20
目的

对于Python来说丰富的库是其使用快速简易的关键,这点对于MicroPython也一样,这篇文章就对MicroPython的库做个罗列和简单说明。
库基础说明

MicroPython库分为三部分。一部分是把基础Python中常用的库结合硬件特典重新实现的,为了做区分这部分库在命名上稍有改变,比如原版的 json 模块在MicroPython中改名为 ujson ,不过在使用的时候用 json 和 ujson 两个名称都可以。
MicroPython库第二部分是嵌入式设备特有的,比如 machine 库,该库中包含了对CPU、外设等片上资源相关的操作。
MicroPython库第三部分是特定模块特有的,比如 esp32 库,该库是esp32特有的。

库列表

Python基础库

[tr]名称说明内容举例[/tr]
Builtin内建函数和异常
(不需要引入模块)
abs()、pow()、max()、min()
bin()、hex()
input()、print()
len()、range()、next()
math浮点运算相关函数cos()、exp()、log()、sin()
e、pi
cmath复数运算相关函数cos()、exp()、log()、sin()
e、pi
gc垃圾回收控制enable()、disable()、collect()
sys系统相关功能exit()
stdin()、stdout() (标准输入输出流)
uarray数组相关功能
ubinascii二进制和ASCII格式转化hexlify()、unhexlify()
a2b_base64()、b2a_base64()
ucollections集合相关内容
uerrno定义了一些错误码
uhashlib哈希和信息摘要算法sha256、sha1、md5
uheapq堆相关操作heappush()、heappop()、heapify()
uio流和文件相关操作open()
ujsonpython数据类型和json相互转换dump()、dumps()、load()、loads()
uos文件系统相关操作chdir()、listdir()、mkdir()
remove()、rename()
ure正则表达式相关功能
uselectsteam相关异步功能
usocketsocket相关功能,用于网络通信
usslSSL/TLS相关功能
ustruct打包解包基础数据类型
utime时间相关功能time()、sleep()
uzlib压缩与解压缩相关功能(当前只能解压缩)
_thread多线程功能(还在试验中)
嵌入式设备相关库

[tr]名称说明内容举例[/tr]
btreeBTree数据库
framebuf帧缓冲模块,可以用于图形输出等
machine包含了对模块上CPU、外设等片上资源相关的操作reset()、soft_reset()、reset_cause()
disable_irq()、enable_irq()
lightsleep()、deepsleep()
Pin、ADC、UART、SPI、I2C
RTC、WDT、SDCard
micropythonmicropython解释器与系统相关内容
network网络搜索、连接、建立AP等相关操作connect()、scan()、ifconfig()
urequests用于HTTP访问
这个库没有出现在文档中,但是可以用-.-!

ubluetooth蓝牙相关操作
ucryptolib加密解密等功能
uctypes提供与C兼容功能
ESP32特有库

[tr]名称说明内容举例[/tr]
espesp8266和esp32特有的
该库中部分函数是esp8266特有的
flash_size()
esp32esp32特有库raw_temperature()、hall_sensor()、RMT
总结

MicroPython的库比较多,部分功能是从CPython移植过来的,这部分功能更多的可以参考CPython。还有一部分功能基于硬件开发而来,有机会的话会在后面写文章深入的讲解。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分