【雕爷学编程】MicroPython手册之 WiPy 特定端口库 wipy.machine的主要分类

在这里插入图片描述

MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计的轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行,执行效率较高。它使用了轻量级的垃圾回收机制并移除了大部分Python标准库,以适应资源限制的微控制器。

MicroPython主要特点包括:
1、语法和功能与标准Python兼容,易学易用。支持Python大多数核心语法。
2、对硬件直接访问和控制,像Arduino一样控制GPIO、I2C、SPI等。
3、强大的模块系统,提供文件系统、网络、图形界面等功能。
4、支持交叉编译生成高效的原生代码,速度比解释器快10-100倍。
5、代码量少,内存占用小,适合运行在MCU和内存小的开发板上。
6、开源许可,免费使用。Shell交互环境为开发测试提供便利。
7、内置I/O驱动支持大量微控制器平台,如ESP8266、ESP32、STM32、micro:bit、掌控板和PyBoard等。有活跃的社区。

MicroPython的应用场景包括:
1、为嵌入式产品快速构建原型和用户交互。
2、制作一些小型的可 programmable 硬件项目。
3、作为教育工具,帮助初学者学习Python和物联网编程。
4、构建智能设备固件,实现高级控制和云连接。
5、各种微控制器应用如物联网、嵌入式智能、机器人等。

使用MicroPython需要注意:
1、内存和Flash空间有限。
2、解释执行效率不如C语言。
3、部分库函数与标准版有差异。
4、针对平台优化语法,订正与标准Python的差异。
5、合理使用内存资源,避免频繁分配大内存块。
6、利用原生代码提升速度关键部位的性能。
7、适当使用抽象来封装底层硬件操作。

总体来说,MicroPython让Python进入了微控制器领域,是一项重要的创新,既降低了编程门槛,又提供了良好的硬件控制能力。非常适合各类物联网和智能硬件的开发。
在这里插入图片描述

MicroPython 是一种适用于微控制器的 Python 语言的精简实现,它可以让开发者使用 Python 语法和标准库来编写嵌入式应用程序。WiPy 是一种基于 ESP32 芯片的无线开发板,它支持运行 MicroPython 固件。MicroPython 特定于 WiPy 的库是一组为 WiPy 设计的模块,它们提供了 WiPy 的特有功能和硬件接口的访问。MicroPython 特定于 WiPy 的库的主要特点如下:

1、它包含了一些与 WiPy 相关的模块,如 machine, network, pycom, uos 等,它们分别提供了 WiPy 的机器级别控制,网络连接,灯光控制,操作系统接口等功能。
2、它还包含了一些通用的 MicroPython 模块,如 binascii, hashlib, math, random, struct, time 等,它们提供了一些常用的数据处理,加密,数学,随机数,数据结构,时间等功能。
3、它遵循了 MicroPython 的设计原则,即简洁,高效,可移植和兼容。

在这里插入图片描述
wipy.machine 是一个用于访问和控制 WiPy 开发板上的硬件功能的模块,它包含了一些与 WiPy 硬件相关的类和函数。

一、wipy.machine 的主要特点

wipy.machine 是一个用于访问和控制 WiPy 开发板上的硬件功能的模块,它包含了一些与 WiPy 硬件相关的类和函数。
wipy.machine 是 machine 模块的一个子模块,machine 模块是 MicroPython 的标准库之一,它提供了一些与不同平台的硬件相关的功能。
wipy.machine 包含了一些与 WiPy 特有的硬件功能和接口的访问,如 ADCWiPy, TimerWiPy, UART, SPI, I2C 等,它们分别提供了模拟数字转换,定时器,串口,SPI 总线,I2C 总线等功能。
wipy.machine 还包含了一些通用的硬件功能和接口的访问,如 Pin, PWM, RTC, WDT 等,它们分别提供了引脚控制,脉冲宽度调制,实时时钟,看门狗定时器等功能。
wipy.machine 遵循了 MicroPython 的设计原则,即简洁,高效,可移植和兼容。

二、使用注意事项如下:

在使用 wipy.machine 模块之前,需要先导入 machine 和 wipy 模块,并且使用 import machine 和 import wipy 语句。
在使用 wipy.machine 模块时,需要注意不要与其他模块或设备冲突,并且避免使用过多的内存和电源资源。
在使用 wipy.machine 模块时,需要注意硬件设备和传感器的规格和限制,并且尊重相关的版权和许可协议。

在这里插入图片描述

三、wipy.machine 的主要分类如下:

ADCWiPy 类 – 模数转换,用于创建和控制模拟数字转换(ADC)对象,可以读取模拟信号的值。
TimerWiPy 类 – 定时器,用于创建和控制硬件定时器对象,可以执行定时任务或产生 PWM 信号。
UART 类 – 串口,用于创建和控制串口通信对象,可以与其他设备或电脑进行数据交换。
SPI 类 – SPI 总线,用于创建和控制 SPI 通信对象,可以与其他设备进行高速同步数据传输。
I2C 类 – I2C 总线,用于创建和控制 I2C 通信对象,可以与其他设备进行低速异步数据传输。

四、wipy.machine 的详细目录如下:

1、ADCWiPy 类
构造函数:ADCWiPy(bits=12)
方法:channel(pin, attn=ADC.ATTN_0DB)
方法:init(bits=12)
方法:deinit()

2、ADCChannel 类
方法:value()

3、TimerWiPy 类
构造函数:TimerWiPy(id, mode=Timer.PERIODIC, width=32)
方法:channel(id, mode, pin=None, pulse_width_percent=None, freq=None)
方法:init(freq=None, mode=None, width=None)
方法:deinit()

在这里插入图片描述

4、TimerChannel 类
方法:callback(fun)
方法:freq([value])
方法:pulse_width([value])
方法:pulse_width_percent([value])

5、UART 类
构造函数:UART(id, baudrate=9600, bits=8, parity=None, stop=1, pins=(TXD, RXD), ctrl_pin=None)
方法:any()
方法:read([nbytes])
方法:readall()
方法:readinto(buf[, nbytes])
方法:readline()
方法:write(buf)

6、SPI 类
构造函数:SPI(id, mode=SPI.MASTER, baudrate=1000000, polarity=0, phase=0, bits=8, firstbit=SPI.MSB, pins=(SCLK, MOSI, MISO))
方法:deinit()
方法:read(nbytes[, write=0x00])
方法:readinto(buf[, write=0x00])
方法:write(buf)
方法:write_readinto(write_buf, read_buf)

7、I2C 类
构造函数:I2C(id, mode=I2C.MASTER, baudrate=1000000, pins=(SDA, SCL))
方法:deinit()
方法:scan()
方法:start()
方法:stop()
方法:readfrom(addr, nbytes[, stop=True])
方法:readfrom_into(addr, buf[, stop=True])
方法:writeto(addr, buf[, stop=True])
方法:readfrom_mem(addr, memaddr, nbytes[, addrsize=8])
方法:readfrom_mem_into(addr, memaddr, buf[, addrsize=8])
方法:writeto_mem(addr, memaddr, buf[, addrsize=8])

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41659040/article/details/132962514