MicroPython 是运行在微控制器硬件之上的完全的Python编译器和运行时系统。提供给用户一个交互式提示符(REPL)来立即执行所支持的命令。 你们那么 。
交互式提示符(REPL)是MicroPython提供给用户的一种界面,它允许用户在运行时输入Python代码并立即执行。通过交互式提示符,用户可以与MicroPython进行实时的交互,输入命令并查看执行结果。这种即时的反馈机制使得用户可以方便地测试和调试代码,以及进行实时的控制和操作。用户可以通过交互式提示符来编写和执行各种Python命令和程序,从而实现对微控制器硬件的控制和操作。
2.1 讲 板载LED流水灯实验
Make'Pico | ESPBlock | LED模块 |
---|---|---|
GP16 | 1/GP16 | LED1 |
GP17 | 2/GP17 | LED2 |
GP18 | 4/GP18 | LED3 |
GP19 | 5/GP19 | LED4 |
GP23 | 6/GP23 | LED5 |
GP5 | 7/GP5 | LED6 |
GP2 | 11/GP2 | LED7 |
GP22 | 14/GP22 | LED8 |
#这段代码是一个使用MicroPython控制LED灯闪烁的示例。#首先,通过from machine import Pin导入了Pin类,用于控制硬件引脚。
from machine import Pin#然后,通过from utime import sleep导入了sleep函数,用于控制程序的延时。
from utime import sleep
import utime#接下来,定义了一个列表led,其中包含了8个LED灯对应的引脚号。
led =[16, 17, 18, 19, 23, 5, 2 ,22]
#然后,使用列表推导式创建了一个名为leds的列表,其中每个元素都是一个Pin对象,用于控制对应的LED灯。
leds = [Pin(led[i], Pin.OUT) for i in range(0, 8)]
#每个Pin对象都被设置为输出模式。if __name__ == '__main__':#在主程序中,使用了一个无限循环while True来不断执行LED灯的闪烁。while True:#首先,使用一个for循环遍历leds列表中的每个元素,将对应的LED灯点亮(设置为高电平),然后通过sleep(0.05)函数延时一段时间。for n in range(0,8):leds[n].value(1)sleep(0.05)#接着,再使用一个for循环遍历leds列表中的每个元素,将对应的LED灯熄灭(设置为低电平),再次通过sleep(0.05)函数延时一段时间。 for n in range(0,8):leds[n].value(0)sleep(0.05)
Pin.OUT 表示什么意思?
Pin.OUT是指在单片机或者嵌入式系统中,用于控制IO口输出的功能。Pin.OUT可以将IO口设置为输出模式,并且可以通过设置高电平或低电平来控制外部设备的状态。通过使用Pin.OUT,我们可以实现对LED灯、继电器、电机等外部设备的控制。
如何在MicroPython中使用引脚?
在MicroPython中,使用引脚可以通过以下步骤进行:
-
导入
machine
模块:MicroPython中的machine
模块提供了对硬件资源(如引脚)的访问和控制。首先,需要导入该模块以使用其中的功能。 -
创建引脚对象:使用
machine.Pin()
函数创建一个引脚对象。该函数接受两个参数,第一个参数是引脚的编号,第二个参数是引脚的模式(输入或输出)。 -
配置引脚模式:通过调用引脚对象的
init()
方法,可以设置引脚的工作模式。例如,可以将引脚设置为输入模式(Pin.IN
)或输出模式(Pin.OUT
)。 -
读取或写入引脚状态:如果引脚被配置为输入模式,可以使用引脚对象的
value()
方法读取引脚的状态(高电平或低电平)。如果引脚被配置为输出模式,可以使用引脚对象的value()
方法设置引脚的状态。
下面是一个示例代码,演示了如何在MicroPython中使用引脚:
import machine# 创建引脚对象
pin = machine.Pin(2, machine.Pin.OUT)# 配置引脚模式
pin.init(machine.Pin.OUT)# 设置引脚状态为高电平
pin.value(1)# 读取引脚状态
state = pin.value()
print("引脚状态:", state)
ValueError: invalid pin
ValueError: invalid pin是一个Python中的异常错误,表示提供的PIN码无效。
在Python中,PIN码通常用于身份验证或加密操作。当使用一个无效的PIN码时,就会引发ValueError异常。
可能的原因包括:
- 提供的PIN码不符合要求,例如长度不正确或包含非法字符。
- PIN码与预期的格式不匹配,例如使用了错误的编码方式。
- 提供的PIN码与系统中存储的PIN码不匹配。
为了解决这个问题,你可以检查以下几点:
- 确保提供的PIN码符合要求,例如长度和字符范围。
- 检查PIN码的编码方式是否正确。
- 如果是与系统中存储的PIN码进行比较,请确保两者一致。
根据代码,报错"ValueError: invalid pin"是因为在创建Pin对象时,传入了无效的引脚号。请确保引脚号是正确的,并且与硬件连接一致。
另外,MicroPython的引脚号可能与实际硬件的引脚号不同,需要根据具体的开发板或者芯片手册来确定正确的引脚号。
如果你确定引脚号是正确的,还是出现该错误,可能是因为该引脚不支持作为输出引脚。你可以查阅相关文档或者手册来确认该引脚是否支持输出功能。
GP引脚
GP引脚是指通用目的引脚(General Purpose Pin),在电子设备中用于连接和控制外部设备或传感器的引脚。GP引脚通常由微控制器或微处理器提供,并且可以根据需要进行配置和使用。
GP引脚的功能可以根据具体的应用和硬件设计进行配置,常见的功能包括输入、输出、模拟输入、模拟输出、中断等。通过配置GP引脚的工作模式和电平状态,可以实现与外部设备的数据交换、信号控制和通信等功能。
在不同的硬件平台和芯片上,GP引脚的数量、命名和功能可能会有所不同。例如,在Arduino开发板上,有一些数字引脚被标记为GP引脚,可以用于数字输入输出和PWM输出。而在Raspberry Pi上,GPIO(通用输入输出)引脚可以用作GP引脚,用于连接各种外部设备和传感器。
总结一下,GP引脚是一种通用的引脚,可以根据需要进行配置和使用,用于连接和控制外部设备或传感器。
ADC引脚
ADC引脚是模拟数字转换器(Analog-to-Digital Converter)的输入引脚。ADC引脚用于将模拟信号转换为数字信号,以便微控制器或其他数字系统可以对其进行处理和分析。ADC引脚通常与传感器或其他模拟设备连接,以测量和采集模拟信号的数值。
ADC引脚的工作原理是将连续变化的模拟信号转换为离散的数字值。这个过程包括两个主要步骤:采样和量化。采样是指在一定时间间隔内对模拟信号进行测量,而量化则是将采样到的模拟信号值映射为离散的数字值。
ADC引脚通常具有一定的分辨率,表示可以表示的数字值的精度。例如,8位ADC可以表示256个不同的数字值,而12位ADC可以表示4096个不同的数字值。较高的分辨率意味着更准确的模拟信号转换。
常见的微控制器或芯片上都会有ADC引脚,以便于连接和读取模拟信号。通过读取ADC引脚的数字值,可以获取传感器或其他模拟设备提供的信息,并进行相应的处理和控制。
usocket – socket模块 — MicroPython 1.9.2 文档
因为固件bin不对,一直提示引脚报错 安装了各固件跑顺畅了
https://micropython.org/resources/firmware/ESP32_GENERIC-SPIRAM-20210623-v1.16.bin
链接:https://pan.baidu.com/s/1JSiqQH8vZUagNbFZxyY92w
提取码:82zs