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 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/577211.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【QT入门】 QListWidget各种常见用法详解之图标模式

往期回顾 【QT入门】 Qt代码创建布局之多重布局变换与布局删除技巧-CSDN博客 【QT入门】 QTabWidget各种常见用法详解-CSDN博客 【QT入门】 QListWidget各种常见用法详解之列表模式-CSDN博客 【QT入门】 QListWidget各种常见用法详解之图标模式 QListWidget有列表和图标两种显…

《C++ Primer 第五版 中文版》第12章 动态内存【阅读笔记 + 个人思考】

《C Primer 第五版 中文版》第12章 动态内存【阅读笔记 个人思考】 12.1 动态内存与智能指针12.1.1 shared_ptr类 静态内存包括:初始化只读数据段,初始化读写数据段,未初始化数据和常量数据段。 详细在下面博客总结: Linux系统下…

矩阵的归一化技术

矩阵的归一化(Normalization)是将矩阵中的元素缩放到一个特定的范围或者标准,使得在进行比较、评估或计算时能够保持数值稳定性和可比性。这个过程在数据预处理、机器学习、图像处理等领域中非常重要。归一化有助于改善算法的收敛速度和精度&…

Lumos学习python第七课:字符串

一、老规矩,题目呢? 1、题目-----来源力扣 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C …

LeetCode_1.两数之和

一、题目描述 二、方法 1.方法1&#xff08;暴力枚举法&#xff09; 利用两个for循环&#xff0c;对数组进行逐一的遍历&#xff0c;直到找到两个数的和为目标值时返回这两个数的下标。以下为c实现的完整代码。 # include<iostream> using namespace std; #include<…

消息队列经典应用场景

笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列 。 这篇文章,笔者结合自己的真实经历,和大家分享消息队列的七种经典应用场景。 1 异步&解耦 笔者曾经负责某电…

戴尔灵越3000来说2.5G的双核显存能干啥?

吃鸡已经成为大家耳熟能详的网络游戏。 很多人认为&#xff0c;想要享受吃鸡的乐趣&#xff0c;就必须组装一台高端电脑。 虽然配置越高越好&#xff0c;但现实是很多配置都是以性能为标准的。 有余了&#xff0c;没必要刻意追求高配置、高特效。 说实话&#xff0c;吃鸡不一定…

Linux之文件系统

我们之前谈到的文件描述符fd,是与被加载到内存中的文件相关的&#xff0c;那么还有什么文件呢&#xff1f;磁盘文件 内存文件 ------ 断电失效 磁盘文件 ------ 不受断电的影响 磁盘存储器存、取信息的最基本单位是扇区。 —个扇区能存储512Bytes的数据,OS与磁盘交互的单位…

CSS及javascript

一、CSS简介 css是一门语言&#xff0c;用于控制网页的表现。 cascading style sheet:层叠样式表 二、css的导入方式 css代码与html代码的结合方式 &#xff08;1&#xff09;css导入html有三种方式&#xff1a; 1.内联样式&#xff1a;<div style"color:red&quo…

视频素材免费哪个好?7个视频素材下载网站推荐

小伙帮们准备做视频的时候才发现&#xff0c;哎呀&#xff0c;高清视频素材哪里找啊&#xff1f;不用急&#xff0c;这次我们依旧从中国的宝藏网站开始&#xff0c;然后穿越全球&#xff0c;发现更多精彩的无水印视频素材网站 1&#xff0c;蛙学府&#xff08;中国&#xff09…

URL编码:原理、应用与安全性

title: URL编码&#xff1a;原理、应用与安全性 date: 2024/3/29 18:32:42 updated: 2024/3/29 18:32:42 tags: URL编码百分号编码特殊字符处理网络安全应用场景标准演变未来发展 在网络世界中&#xff0c;URL&#xff08;统一资源定位符&#xff09;是我们访问网页、发送请求…

【ENSP】交换机和路由器之间实现静态路由

1.概念 三层交换机只能在Vlanif逻辑口配置iP地址 路由器的每一个端口都是另外一个网段 2.实现方法 交换机允许对应vlan通行&#xff0c;配置vlanif的ip地址&#xff0c;做静态路由 路由器&#xff0c;进接口配置对应的ip&#xff0c;路由器和交换机相连的口&#xff0c;进入他的…