当前位置: 首页 > news >正文

做外链音乐网站排名第一的玉米品种

做外链音乐网站,排名第一的玉米品种,wordpress 3.8 跟踪代码,漳州网站制作上一篇:http://t.csdnimg.cn/mg2Qt 文章目录 ESP32(NodeMCU-32S)简介引脚注意事项 类与对象的概念MicroPython的GPIO使用文档解释machine.PinPin.irq 点灯 ESP32(NodeMCU-32S) 简介 NodeMCU-32S 是安信可基于 ESP32-32S 模组所设计的核心开发板。该开发板延续了 N…

上一篇:http://t.csdnimg.cn/mg2Qt

文章目录

    • ESP32(NodeMCU-32S)
      • 简介
      • 引脚
      • 注意事项
    • 类与对象的概念
    • MicroPython的GPIO使用
      • 文档解释
        • machine.Pin
        • Pin.irq
    • 点灯

ESP32(NodeMCU-32S)

简介

NodeMCU-32S 是安信可基于 ESP32-32S 模组所设计的核心开发板。该开发板延续了 NodeMCU 1.0经典设计,引出大部分I/O至两侧的排针,开发者可以根据自己的需求连接外设。使用面包板进行开发和调试时,两侧的标准排针可以使操作更加简单方便。

引脚

注意事项

Flash标注的是bin烧录引脚不做他用。

UART0与电脑通讯。

类与对象的概念

​ 类是一种抽象的概念,用于描述具有相似属性和行为的对象的集合。对象则是类的具体实例,它具体化了类定义的属性和行为。下面通过一个简单的Python例程来进一步解释:

# 定义一个名为Person的类
class Person:# 初始化方法,当创建对象时会自动调用def __init__(self, name, age):self.name = name  # 设置名字属性self.age = age    # 设置年龄属性# 定义一个打招呼的方法def say_hello(self):print(f"Hello, my name is {self.name} and I am {self.age} years old.")# 创建一个Person类的对象
person1 = Person("Alice", 25)# 访问对象的方法
person1.say_hello()

​ 在这个例子中,Person是一个类,它定义了两个属性(nameage)和一个方法(say_hello)。我们通过这个类创建了一个名为person1的对象,并为其设置了名字为“Alice”和年龄为25。然后,我们调用该对象的say_hello方法,它会输出对应的问候语。

简单来说,就是有一个“类”,是Person,有一个“对象”属于这个“类”,是他的“对象”,就有对应的“方法”和“属性”。

MicroPython的GPIO使用

基于machine.Pin模块实现,注意Pin首字母大小写。Python书写要注意缩进等语法。

from machine import Pin# create an output pin on pin #0
p0 = Pin(0, Pin.OUT)# set the value low then high
p0.value(0)
p0.value(1)# create an input pin on pin #2, with a pull up resistor
p2 = Pin(2, Pin.IN, Pin.PULL_UP)# read and print the pin value
print(p2.value())# reconfigure pin #0 in input mode with a pull down resistor
p0.init(p0.IN, p0.PULL_DOWN)# configure an irq callback
p0.irq(lambda p:print(p))

我们可以从中观察到引脚的写法与对象的声明、调用写法。

p0 = Pin(0, Pin.OUT)

GPIO0被设置为输出。

p2 = Pin(2, Pin.IN, Pin.PULL_UP)

GPIO2被设置为上拉输入

注意这里的GPIO几是由Pin()里面的数字决定的

文档解释

machine.Pin

class machine.Pin(id, mode=-1, pull=- 1, *, value, drive, alt)

访问与给定 id. 如果在构造函数中给出了额外的参数,那么它们将用于初始化引脚。任何未指定的设置将保持其先前状态。

论据是:

  • id 是强制性的,可以是任意对象。可能的值类型包括:int(内部 Pin 标识符)、str(Pin 名称)和元组([port, pin] 对)。
  • mode 指定引脚模式,可以是以下之一:
    • Pin.IN - 引脚配置为输入。如果将其视为输出,则该引脚处于高阻抗状态。
    • Pin.OUT - 引脚配置为(正常)输出。
    • Pin.OPEN_DRAIN - 引脚配置为开漏输出。开漏输出的工作方式如下:如果输出值设置为0,则该引脚处于低电平有效;如果输出值为 1,则引脚处于高阻抗状态。并非所有端口都实现此模式,或者某些端口可能仅在某些引脚上。
    • Pin.ALT - 引脚配置为执行特定于端口的替代功能。对于以这种方式配置的引脚,任何其他引脚方法(除了 Pin.init())都不适用(调用它们将导致未定义或特定于硬件的结果)。并非所有端口都实现此模式
    • Pin.ALT_OPEN_DRAIN - 与 相同 Pin.ALT,但引脚配置为开漏。并非所有端口都实现此模式。
  • pull指定引脚是否连接了(弱)上拉电阻,并且可以是以下之一:
    • None - 没有上拉或下拉电阻。
    • Pin.PULL_UP - 上拉电阻使能。
    • Pin.PULL_DOWN - 下拉电阻启用。
  • value仅对 Pin.OUT 和 Pin.OPEN_DRAIN 模式有效,如果给定,则指定初始输出引脚值,否则引脚外设的状态保持不变。
  • drive 指定引脚的输出功率,可以是以下之一: Pin.LOW_POWER, Pin.MED_POWERPin.HIGH_POWER。实际的当前驱动能力取决于端口。并非所有端口都实现此参数。
  • alt为引脚指定一个备用功能,它可以采用的值取决于端口。此参数仅对Pin.ALTPin.ALT_OPEN_DRAIN 模式有效。当一个引脚支持多个备用功能时,可以使用它。如果仅支持一个引脚备用功能,则不需要此参数。并非所有端口都实现此参数。

如上所述,Pin 类允许为特定的 pin 设置备用功能,但它没有指定对此类 pin 的任何进一步操作。在交替功能模式下配置的引脚通常不用作 GPIO,而是由其他硬件外设驱动。此类引脚支持的唯一操作是通过调用构造函数或 Pin.init() 方法重新初始化。如果在复用功能模式下配置的引脚用Pin.IN, Pin.OUT、 或 重新初始化,复用 Pin.OPEN_DRAIN功能将从引脚中删除。

Pin.irq

Pin.irq(handler=None, trigger=Pin.IRQ_FALLING | Pin.IRQ_RISING, *, priority=1, wake=None, hard=False)

配置在引脚的触发源处于活动状态时要调用的中断处理程序。如果引脚模式为,Pin.IN 则触发源为引脚上的外部值。如果引脚模式为,Pin.OUT 则触发源为引脚的输出缓冲器。否则,如果引脚模式是,Pin.OPEN_DRAIN则触发源是状态“0”的输出缓冲器和状态“1”的外部引脚值。

论据是:

  • handler是中断触发时要调用的可选函数。处理程序必须只采用一个参数,即 Pin实例。

  • trigger 配置可以产生中断的事件。可能的值为:

    • Pin.IRQ_FALLING 下降沿中断。
    • Pin.IRQ_RISING上升沿中断。
    • Pin.IRQ_LOW_LEVEL 低电平中断。
    • Pin.IRQ_HIGH_LEVEL高电平中断。

    这些值可以通过“或”运算来触发多个事件。

  • priority设置中断的优先级。它可以采用的值是特定于端口的,但更高的值总是代表更高的优先级。

  • wake选择此中断可以唤醒系统的电源模式。它可以是 machine.IDLE, machine.SLEEP or machine.DEEPSLEEP. 。也可以将这些值进行“或”运算,使一个引脚在一种以上的电源模式下产生中断。

  • hard 如果为真,则使用硬件中断。这减少了引脚更改和被调用的处理程序之间的延迟。硬中断处理程序可能不分配内存;请参阅 编写中断处理程序.。并非所有端口都支持此参数。

此方法返回一个回调对象。

点灯

嵌入式学习少不了点灯代码。

from machine import Pin
import time# 定义LED连接的GPIO针脚编号
led_pin = 2# 初始化LED引脚为输出模式
led = Pin(led_pin, Pin.OUT)while True:# 点亮LEDled.value(1)time.sleep(1)  # 延时1秒# 熄灭LEDled.value(0)time.sleep(1)  # 延时1秒
http://www.15wanjia.com/news/39164.html

相关文章:

  • 网站建设网站徒手整形培训谷歌广告推广
  • 做物流网站注意什么长沙的seo网络公司
  • 域名wordpress网站的优化从哪里进行
  • 旅游网站建设的意义企业官网怎么做
  • 网站开发 网页设计编程培训班学费一般多少钱
  • dede网站怎么做微信小程序如何联系百度人工客服
  • 漳州建网站5000元网站seo推广
  • 深圳疫情防控情况seo培训机构哪家好
  • 大连模板网站制作哪家专业网络营销的好处和优势
  • 建设网站公司地址南昌百度快速排名提升
  • 旅游网站自己怎么做近一周新闻热点事件
  • wordpress做双语网站婚恋网站排名前三
  • 35互联做的网站如何厦门网络推广外包
  • 支付宝怎么做网站维护关键词是怎么排名的
  • 电子商务网站建设规划教案企业网站推广有哪些
  • 做网站的公司怎么转型网站服务费一年多少钱
  • 上海网站设计公司推荐亿企邦二级域名注册
  • 怎么做动漫小广告视频网站windows优化大师最新版本
  • 专业做网站 上海seo每日工作内容
  • 什么网站可以做兼职赚钱吗广州公关公司
  • 网站导航是做链接赚钱么怎么建网站平台卖东西
  • 招聘网官方网站网站首页的优化
  • 自己做网站需要多少钱智慧软文网站
  • 专业建设专题网站室内设计培训
  • 沧州手机网站网站片区
  • 怀柔成都网站建设免费的云服务器有哪些
  • 和龙建设局网站旺道优化软件
  • 南昌县建设局网站2345网址导航官网
  • 协会网站开发百度助手
  • 动地科技登录网站餐饮品牌全案策划