ESP32

MicroPython 是运行在微控制器硬件之上的完全的Python编译器和运行时系统。提供给用户一个交互式提示符(REPL)来立即执行所支持的命令。       你们那么               。

交互式提示符(REPL)是MicroPython提供给用户的一种界面,它允许用户在运行时输入Python代码并立即执行。通过交互式提示符,用户可以与MicroPython进行实时的交互,输入命令并查看执行结果。这种即时的反馈机制使得用户可以方便地测试和调试代码,以及进行实时的控制和操作。用户可以通过交互式提示符来编写和执行各种Python命令和程序,从而实现对微控制器硬件的控制和操作。

2.1 讲  板载LED流水灯实验

Make'Pico

ESPBlockLED模块
GP161/GP16LED1
GP17        2/GP17LED2
GP184/GP18LED3
GP195/GP19LED4
GP236/GP23LED5
GP57/GP5LED6
GP211/GP2LED7
GP2214/GP22LED8

#这段代码是一个使用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中,使用引脚可以通过以下步骤进行:

  1. 导入machine模块:MicroPython中的machine模块提供了对硬件资源(如引脚)的访问和控制。首先,需要导入该模块以使用其中的功能。

  2. 创建引脚对象:使用machine.Pin()函数创建一个引脚对象。该函数接受两个参数,第一个参数是引脚的编号,第二个参数是引脚的模式(输入或输出)。

  3. 配置引脚模式:通过调用引脚对象的init()方法,可以设置引脚的工作模式。例如,可以将引脚设置为输入模式(Pin.IN输出模式(Pin.OUT

  4. 读取或写入引脚状态:如果引脚被配置为输入模式,可以使用引脚对象的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异常。

可能的原因包括:

  1. 提供的PIN码不符合要求,例如长度不正确或包含非法字符。
  2. PIN码与预期的格式不匹配,例如使用了错误的编码方式。
  3. 提供的PIN码与系统中存储的PIN码不匹配。

为了解决这个问题,你可以检查以下几点:

  1. 确保提供的PIN码符合要求,例如长度和字符范围。
  2. 检查PIN码的编码方式是否正确。
  3. 如果是与系统中存储的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 
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinzheng新政

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值