GPIO和RTC GPIO

PDF版本移步PDF版本GPIO篇

基于官方文档、机器加人工翻译,翻译错了评论纠错,持续更改;一起学习!

概要

ESP32芯片具有40个物理GPIO管脚。某些GPIO管脚无法使用或模块封装上没有相应的引脚(请参阅技术参考手册)。每个管脚可用作通用I / O或可连接到内部外围信号。
• 请注意,GPIO6-11通常用于SPI闪存。
• GPIO34-39只能设置为输入模式,不具备软件上拉或下拉功能。
还有单独的“RTC GPIO”支持,当GPIO路由[routed]到“RTC”低功耗和模拟子系统时,它可以运行。这些引脚功能可在深度睡眠,超低功耗协处理器运行或使用ADC / DAC /等模拟功能时使用。

应用实例

GPIO输出和输入中断示例:外设/ gpio
[转到Espressif Github 上GPIO例程地址]。

普通GPIO

头文件

驱动器/包括/驱动器/ gpio.h
[转到Espressif Github 上GPIO例程地址]。
功能
esp_err_t gpio_config(const gpio_config_t * pGPIOConfig )
GPIO常见配置。
配置GPIO的模式,pull-up(上拉),PullDown(下拉),IntrType(中断?)
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• pGPIOConfig:指向GPIO的指针配置struct
esp_err_t gpio_reset_pin(gpio_num_t gpio_num )
将GPIO重置为默认状态(选择GPIO功能,启用pullup并禁用输入和输出)。
注意
此功能还可将此引脚的IOMUX配置为GPIO功能,并断开通过GPIO Matrix配置的任何其他外设输出。
返回
始终返回ESP_OK。
参数
• gpio_num:GPIO管脚。
esp_err_t gpio_set_intr_type(gpio_num_t gpio_num,gpio_int_type_t intr_type )
GPIO设置中断触发类型。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号。如果要设置GPIO16的触发类型,gpio_num应为GPIO_NUM_16(16);
• intr_type:中断类型,从gpio_int_type_t中选择
esp_err_t gpio_intr_enable(gpio_num_t gpio_num )
启用GPIO模块中断信号。
注意
使用ADC时,请勿使用GPIO36和GPIO39的中断。请参阅评论adc1_get_raw。有关此问题的说明,请参阅“ECO_and_Workarounds_for_Bugs_in_ESP32”的第3.11节。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号码。如果要在例如GPIO16上启用中断,则gpio_num应为GPIO_NUM_16(16);
esp_err_t gpio_intr_disable(gpio_num_t gpio_num )
禁用GPIO模块中断信号。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号。如果要禁用GPIO16的中断,gpio_num应为GPIO_NUM_16(16);
esp_err_t gpio_set_level(gpio_num_t gpio_num,uint32_t level )
GPIO设置输出电平。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO编号错误
参数
• gpio_num:GPIO号。如果要设置GPIO16的输出电平,gpio_num应为GPIO_NUM_16(16);
• level:输出水平。0:低; 1:高
一个INT gpio_get_level(Gpio_num_t Gpio_num )
GPIO获得输入级别。
警告
如果管脚未配置为输入(或输入和输出),则返回值始终为0。
返回
• 0 GPIO输入电平为0
• 1 GPIO输入电平为1
参数
• gpio_num:GPIO号码。如果你想得到例如引脚GPIO16的逻辑电平,gpio_num应该是GPIO_NUM_16(16);
esp_err_t gpio_set_direction(gpio_num_t gpio_num,gpio_mode_t 模式)
GPIO设定方向。
配置GPIO方向,例如output_only,input_only,output_and_input
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO错误
参数
• gpio_num:配置GPIO引脚号,应为GPIO号。如果要设置例如GPIO16的方向,gpio_num应为GPIO_NUM_16(16);
• mode:GPIO方向
esp_err_t gpio_set_pull_mode(gpio_num_t gpio_num,gpio_pull_mode_t pull )
配置GPIO上拉/下拉电阻。
只有支持输入和输出的引脚都集成了上拉和下拉电阻。仅输入GPIO 34-39没有。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG:参数错误
参数
• gpio_num:GPIO号码。如果要为GPIO16设置上拉或下拉模式,gpio_num应为GPIO_NUM_16(16);
• pull:GPIO上拉/下拉模式。
esp_err_t gpio_wakeup_enable(gpio_num_t gpio_num,gpio_int_type_t intr_type )
启用GPIO唤醒功能。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号码。
• intr_type:GPIO唤醒类型。只能使用GPIO_INTR_LOW_LEVEL或GPIO_INTR_HIGH_LEVEL。
esp_err_t gpio_wakeup_disable(gpio_num_t gpio_num )
禁用GPIO唤醒功能。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号码
esp_err_t gpio_isr_register( void(* fn)( void * ),void * arg,int intr_alloc_flags,gpio_isr_handle_t * handle,)
注册GPIO中断处理程序,处理程序是ISR。处理程序将附加到运行此函数的同一CPU内核。
只要发生任何GPIO中断,就会调用此ISR功能。请参阅替代gpio_install_isr_service()和gpio_isr_handler_add()API,以便为每个GPIO ISR提供驱动程序支持。
要禁用或删除ISR,请将返回的句柄传递给中断分配函数。
参数
• fn:中断处理程序功能。
• intr_alloc_flags:用于分配中断的标志。一个或多个(ORred)ESP_INTR_FLAG_ *值。有关详细信息,请参阅esp_intr_alloc.h。
• arg:处理函数的参数
• handle:返回句柄的指针。如果为非NULL,则会在此处返回中断句柄。
返回
• ESP_OK成功;
• ESP_ERR_INVALID_ARG GPIO错误
• ESP_ERR_NOT_FOUND找不到指定标志的空闲中断
esp_err_t gpio_pullup_en(gpio_num_t gpio_num )
启用GPIO上拉。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号码
esp_err_t gpio_pullup_dis(gpio_num_t gpio_num )
禁用GPIO上拉。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号码
esp_err_t gpio_pulldown_en(gpio_num_t gpio_num )
启用GPIO下拉。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号码
esp_err_t gpio_pulldown_dis(gpio_num_t gpio_num )
禁用GPIO下拉。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号码
esp_err_t gpio_install_isr_service( int intr_alloc_flags )
安装驱动程序的GPIO ISR处理程序服务,该服务允许每个引脚的GPIO中断处理程序。
此函数与gpio_isr_register()不兼容 - 如果使用该函数,则会为所有GPIO中断注册单个全局ISR。如果使用此功能,则ISR服务提供全局GPIO ISR,并通过gpio_isr_handler_add()函数注册各个引脚处理程序。
返回
• ESP_OK成功
• ESP_ERR_NO_MEM没有内存来安装此服务
• 已安装ESP_ERR_INVALID_STATE ISR服务。
• ESP_ERR_NOT_FOUND找不到指定标志的空闲中断
• ESP_ERR_INVALID_ARG GPIO错误
参数
• intr_alloc_flags:用于分配中断的标志。一个或多个(ORred)ESP_INTR_FLAG_ 值。有关详细信息,请参阅esp_intr_alloc.h。
void gpio_uninstall_isr_service()
卸载驱动程序的GPIO ISR服务,释放相关资源。
esp_err_t gpio_isr_handler_add(gpio_num_t gpio_num,gpio_isr_t isr_handler,void * args )
为相应的GPIO引脚添加ISR处理程序。
使用gpio_install_isr_service()安装驱动程序的GPIO ISR处理程序服务后调用此函数。
除非在gpio_install_isr_service()中分配ISR时传递ESP_INTR_FLAG_IRAM标志,否则不再需要使用IRAM_ATTR声明引脚ISR处理程序。
将从ISR调用此ISR处理程序。因此存在堆栈大小限制(可在menuconfig中配置为“ISR堆栈大小”)。由于额外的间接级别,与全局GPIO中断处理程序相比,此限制较小。
返回
• ESP_OK成功
• ESP_ERR_INVALID_STATE错误的状态,ISR服务尚未初始化。
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号码
• isr_handler:相应GPIO号的ISR处理函数。
• args:ISR处理程序的参数。
esp_err_t gpio_isr_handler_remove(gpio_num_t gpio_num )
删除相应GPIO引脚的ISR处理程序。
返回
• ESP_OK成功
• ESP_ERR_INVALID_STATE错误的状态,ISR服务尚未初始化。
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO号码
esp_err_t gpio_set_drive_capability(gpio_num_t gpio_num,gpio_drive_cap_t strength )
设置GPIO pad驱动器功能。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO编号,仅支持输出GPIO
• strength:打击垫的驱动能力
esp_err_t gpio_get_drive_capability(gpio_num_t gpio_num,gpio_drive_cap_t * strength )
获得GPIO平板驱动器功能。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO编号,仅支持输出GPIO
• strength:指示接受打击垫的驱动能力的指针
esp_err_t gpio_hold_en(gpio_num_t gpio_num )
设置gpio pad保持功能。
gpio pad保持功能在输入和输出模式下都有效,但必须是具有输出功能的gpios。如果启用了焊盘保持:在输出模式下:焊盘的输出电平将被强制锁定且无法更改。在输入模式下:无论输入信号如何变化,读取的输入值都不会改变。
断电或调用gpio_hold_dis将禁用此功能。
返回
• ESP_OK成功
• ESP_ERR_NOT_SUPPORTED不支持pad hold功能
参数
• gpio_num:GPIO编号,仅支持支持输出的GPIO
esp_err_t gpio_hold_dis(gpio_num_t gpio_num )
取消设置gpio pad保持功能。
返回
• ESP_OK成功
• ESP_ERR_NOT_SUPPORTED不支持pad hold功能
参数
• gpio_num:GPIO编号,仅支持支持输出的GPIO
void gpio_iomux_in( uint32_t gpio_num,uint32_t signal_idx )
通过IOMUX将焊盘输入设置为外设信号。
参数
• gpio_num:焊盘的GPIO编号。
• signal_idx:外围信号id输入。其中一个
IN_IDX信号soc/gpio_sig_map.h。
void gpio_iomux_out( uint8_t gpio_num,int func,bool oen_inv )
通过IOMUX将外设输出设置到GPIO焊盘。
参数
• gpio_num:gpio_num填充的GPIO号。
• func:外设引脚到输出引脚的功能号。之一的FUNC_X
*在指定的销(X)的soc/io_mux_reg.h。
• oen_inv:如果需要反转输出启用,则为True,否则为False。
结构
结构gpio_config_t
用于gpio_config函数的GPIO pad的配置参数。
公众成员
uint64_t中pin_bit_mask
GPIO引脚:使用位掩码设置,每个位映射到GPIO
gpio_mode_t mode
GPIO模式:设置输入/输出模式
gpio_pullup_t pull_up_en
GPIO上拉
gpio_pulldown_t pull_down_en
GPIO下拉
gpio_int_type_t intr_type
GPIO中断类型

GPIO_SEL_0
引脚0已选中
GPIO_SEL_1
选择针1
GPIO_SEL_2
选择针2
注意
除了引脚20,24和28…31之外,还有更多的宏,如引脚39。此处未显示它们以减少冗余信息。
GPIO_IS_VALID_GPIO( gpio_num )
检查它是否是有效的GPIO号码
GPIO_IS_VALID_OUTPUT_GPIO( gpio_num )
检查它是否可以是输出模式的有效GPIO编号
类型定义
typedef void(* gpio_isr_t)( void * )
的typedefintr_handle_t gpio_isr_handle_t
枚举
枚举gpio_num_t
价值观:
GPIO_NUM_0 = 0
GPIO0,输入和输出
GPIO_NUM_1 = 1
GPIO1,输入和输出
GPIO_NUM_2 = 2
GPIO2,输入和输出
注意
有更多类似于GPIO39的枚举,不包括GPIO20,GPIO24和GPIO28…31。此处未显示它们以减少冗余信息。
注意
GPIO34…39仅为输入模式。
枚举gpio_int_type_t
价值观:
GPIO_INTR_DISABLE = 0
禁用GPIO中断
GPIO_INTR_POSEDGE = 1
GPIO中断类型:上升沿
GPIO_INTR_NEGEDGE = 2
GPIO中断类型:下降沿
GPIO_INTR_ANYEDGE = 3
GPIO中断类型:上升沿和下降沿
GPIO_INTR_LOW_LEVEL = 4
GPIO中断类型:输入低电平触发
GPIO_INTR_HIGH_LEVEL = 5
GPIO中断类型:输入高电平触发
GPIO_INTR_MAX
枚举gpio_mode_t
价值观:
GPIO_MODE_DISABLE= GPIO_MODE_DEF_DISABLE
GPIO模式:禁用输入和输出
GPIO_MODE_INPUT= GPIO_MODE_DEF_INPUT
GPIO模式:仅输入
GPIO_MODE_OUTPUT= GPIO_MODE_DEF_OUTPUT
GPIO模式:仅输出模式
GPIO_MODE_OUTPUT_OD=((GPIO_MODE_DEF_OUTPUT)|(GPIO_MODE_DEF_OD))
GPIO模式:仅在开漏模式下输出
GPIO_MODE_INPUT_OUTPUT_OD=((GPIO_MODE_DEF_INPUT)|(GPIO_MODE_DEF_OUTPUT)|(GPIO_MODE_DEF_OD))
GPIO模式:输出和输入为开漏模式
GPIO_MODE_INPUT_OUTPUT=((GPIO_MODE_DEF_INPUT)|(GPIO_MODE_DEF_OUTPUT))
GPIO模式:输出和输入模式
枚举gpio_pullup_t
价值观:
GPIO_PULLUP_DISABLE = 0x0
禁用GPIO上拉电阻
GPIO_PULLUP_ENABLE = 0x1
使能GPIO上拉电阻
枚举gpio_pulldown_t
价值观:
GPIO_PULLDOWN_DISABLE = 0x0
禁用GPIO下拉电阻
GPIO_PULLDOWN_ENABLE = 0x1
使能GPIO下拉电阻
枚举gpio_pull_mode_t
价值观:
GPIO_PULLUP_ONLY
垫拉起来
GPIO_PULLDOWN_ONLY
垫拉下来
GPIO_PULLUP_PULLDOWN
垫上拉+下拉
GPIO_FLOATING
垫漂浮
枚举gpio_drive_cap_t
价值观:
GPIO_DRIVE_CAP_0 = 0
垫驱动能力:弱
GPIO_DRIVE_CAP_1 = 1
垫驱动能力:更强
GPIO_DRIVE_CAP_2 = 2
Pad驱动器功能:默认值
GPIO_DRIVE_CAP_DEFAULT = 2
Pad驱动器功能:默认值
GPIO_DRIVE_CAP_3 = 3
垫驱动能力:最强
GPIO_DRIVE_CAP_MAX
RTC GPIO
头文件
• 驱动器/包括/驱动器/ rtc_io.h

功能

static bool rtc_gpio_is_valid_gpio(gpio_num_t gpio_num )
确定指定的GPIO是否是有效的RTC GPIO。
返回
如果GPIO对RTC GPIO有效,则为true。否则是假的。
参数
• gpio_num:GPIO号码
esp_err_t rtc_gpio_init(gpio_num_t gpio_num )
将GPIO初始化为RTC GPIO。
初始化模拟功能的焊盘时,必须调用此功能。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
esp_err_t rtc_gpio_deinit(gpio_num_t gpio_num )
将GPIO初始化为数字GPIO。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
uint32_t的rtc_gpio_get_level(gpio_num_t gpio_num )
获取RTC IO输入级别。
返回
• 1高水平
• 0低级别
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
esp_err_t rtc_gpio_set_level(gpio_num_t gpio_num,uint32_t level )
设置RTC IO输出电平。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
• level:输出水平
esp_err_t rtc_gpio_set_direction(gpio_num_t gpio_num,rtc_gpio_mode_t 模式)
RTC GPIO设置方向。
配置RTC GPIO方向,例如仅输出,仅输入,输出和输入。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
• mode:GPIO方向
esp_err_t rtc_gpio_pullup_en(gpio_num_t gpio_num )
RTC GPIO上拉使能。
此功能仅适用于RTC IO。通常,调用gpio_pullup_en,它既适用于普通GPIO,也适用于RTC IO。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
esp_err_t rtc_gpio_pulldown_en(gpio_num_t gpio_num )
RTC GPIO下拉使能。
此功能仅适用于RTC IO。通常,调用gpio_pulldown_en,它既适用于普通GPIO,也适用于RTC IO。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
esp_err_t rtc_gpio_pullup_dis(gpio_num_t gpio_num )
RTC GPIO上拉禁用。
此功能仅适用于RTC IO。通常,调用gpio_pullup_dis,它既适用于普通GPIO,也适用于RTC IO。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
esp_err_t rtc_gpio_pulldown_dis(gpio_num_t gpio_num )
RTC GPIO下拉禁用。
此功能仅适用于RTC IO。通常,调用gpio_pulldown_dis,它既适用于普通GPIO,也适用于RTC IO。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
esp_err_t rtc_gpio_hold_en(gpio_num_t gpio_num )
在RTC IO pad上启用保持功能。
启用HOLD功能将使焊盘锁存输入使能,输出使能,输出值,功能,驱动强度值的当前值。进入亮或深度睡眠模式时,此功能非常有用,可防止引脚配置发生变化。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
esp_err_t rtc_gpio_hold_dis(gpio_num_t gpio_num )
禁用RTC IO板上的保持功能。
禁用保持功能将允许焊盘从RTC_IO外设接收输入使能,输出使能,输出值,功能,驱动强度的值。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)
esp_err_t rtc_gpio_isolate(gpio_num_t gpio_num )
辅助功能将内部电路与RTC IO断开此功能禁用RTC IO的输入,输出,上拉,下拉和启用保持功能。如果需要在深度睡眠时断开RTC IO与内部电路的连接,请使用此功能,以最大限度地减少漏电流。
特别是,对于ESP32-WROVER模块,在进入深度睡眠之前调用rtc_gpio_isolate(GPIO_NUM_12),以减少深度睡眠电流。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG如果GPIO不是RTC IO
参数
• gpio_num:GPIO编号(例如GPIO_NUM_12)。
void rtc_gpio_force_hold_dis_all()
禁用所有RTC IO的强制保持信号。
每个RTC焊盘都有一个来自RTC控制器的“强制保持”输入信号。如果该信号被置位,则pad锁存输入使能,功能,输出使能和来自RTC多路复用器的其他信号的当前值。在进入深度睡眠状态之前,强制保持信号被使能,用于EXT1唤醒的引脚。
esp_err_t rtc_gpio_set_drive_capability(gpio_num_t gpio_num,gpio_drive_cap_t strength )
设置RTC GPIO焊盘驱动能力。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO编号,仅支持输出GPIO
• strength:打击垫的驱动能力
esp_err_t rtc_gpio_get_drive_capability(gpio_num_t gpio_num,gpio_drive_cap_t * strength )
获得RTC GPIO pad驱动器功能。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG参数错误
参数
• gpio_num:GPIO编号,仅支持输出GPIO
• strength:指示接受打击垫的驱动能力的指针
esp_err_t rtc_gpio_wakeup_enable(gpio_num_t gpio_num,gpio_int_type_t intr_type )
使用特定GPIO启用从睡眠模式唤醒。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG如果gpio_num不是RTC IO,或者intr_type不是GPIO_INTR_HIGH_LEVEL,GPIO_INTR_LOW_LEVEL之一。
参数
• gpio_num:GPIO号
• intr_type:高电平唤醒(GPIO_INTR_HIGH_LEVEL)或低电平唤醒(GPIO_INTR_LOW_LEVEL)
esp_err_t rtc_gpio_wakeup_disable(gpio_num_t gpio_num )
禁用使用特定GPIO从睡眠模式唤醒。
返回
• ESP_OK成功
• ESP_ERR_INVALID_ARG如果gpio_num不是RTC IO
参数
• gpio_num:GPIO号

RTC_GPIO_IS_VALID_GPIO( gpio_num )
枚举
枚举rtc_gpio_mode_t
价值观:
RTC_GPIO_MODE_INPUT_ONLY
填充输入
RTC_GPIO_MODE_OUTPUT_ONLY
垫输出
RTC_GPIO_MODE_INPUT_OUTPUT
垫拉输入+输出
RTC_GPIO_MODE_DISABLED
Pad(输出+输入)禁用

ESP32 GPIOV1_0相关推荐

  1. esp32 camera_利用Phyphox和ESP32蓝牙制作欧姆表测电阻

    近日,微主在利用Phyphox和ESP32蓝牙研究热敏电阻的阻值与温度的关系时,需要绘制热敏电阻阻值与时间的关系图像,通过用手捏住或者放开热敏电阻,观察电阻与时间关系图像的变化情况,进而了解温度对热敏 ...

  2. 芯片、模组、开发板的区别与联系-结合ESP32浅谈(转载)

    1.从外形说起: 1.1芯片 没错,这块黑色的小硅片就是"芯片"本体(通常比大拇指还小,内部集成了实现特定功能的硬件集成电路). 1.2模组 由上述芯片研发的模组是这样的: 从外形 ...

  3. esp32摄像显示时间_TinyPICO-比拇指还小的ESP32开发板- 国外创客众筹发现第二期

    国外创客开发板创新日新月异 我们想尝鲜体验却十分苦难 一片板卡从海外跋山涉水到我们手中 遇到各种各样的问题 海外组团开始啦!~ 本次我们从国外开发板众筹网站crowdsupply 挑选一款体积较小/功 ...

  4. micropython arduino选哪个好_玩转GPIO之ESP32基于MicroPython与Arduino的计算性能测试

    ESP32芯片简直是玩转Arduino的性价比之王,为了摸清其特性,本文分别基于MicroPython与Arduino对ESP32进行计算性能测试.本文采用的硬件是NodeMCU-32S. 本文测试M ...

  5. 麦克纳姆轮运动原理_【带字幕视频】麦克纳姆轮你了解多少?ESP32的WIFI信号,居然能覆盖10公里?...

    DIY视频新更新 [RM]机器人常用的麦克纳姆轮,你了解多少? 麦克纳姆全向轮让机器人能够迅速准确地在赛场上全向移动.快来了解这种轮子的原理和特点吧! 点击"阅读全文"免费播放 [ ...

  6. 利用ESP32驱动控制步进电机驱动器:MS2806

    简 介: 对于步进电机MS-2806进行初步测试,但在配置PUL,DIR的作用下,步进电机没有运动.初步估计可能改驱动器已经损坏. 关键词: MS2806,步进电机 #mermaid-svg-NHbJ ...

  7. 使用ESP32 MicroPython I2C功能读取 BH1750光度传感器模块数据

    简 介: 使用ESP32读取BH1750的光度传感器的数据.但是最终不知道甚么原因,所读取的数据都是0 ? 后面通过证明,说明在原来进行I2C写的时候出现了语法错误. 关键词: BH1750,ESP3 ...

  8. 利用中断在 ESP32 MicroPython 程序中读取AM2302

    简 介: 由于使用MicroPython,如果使用指令查询方式读取AM2302的数据,无法控制到非常精确读取时间信息.利用ESP32 MicroPython中的IO中断,获取AM2302的上升沿时间, ...

  9. ESP32 One-Wire驱动功能

    简 介: 通过测试ESP32 MicroPython中的1-Wire功能,可以看到对于DS18B20可以很好地读取其中的温度,但需要对于DS18B20增加对应的电源. 对于AM2302,直接使用ESP ...

最新文章

  1. 智源研究院发布“智能体系架构与芯片”重大研究方向,打造通用智能处理器,突破“算法共性特征”难题...
  2. MS SQLSERVER通用存储过程分页
  3. PostgreSQL-数据复制
  4. python设计一个验证用户密码程序出入小区卡_自助餐取菜顺利为_______。
  5. 深入浅出理解 Spark:环境部署与工作原理
  6. ZXing二维码和条形码
  7. kickstart命令选项
  8. 大话业务流程图(二)—如何绘制业务流程图?
  9. 康奈尔机器人的肌肉是爆米花做的,果然很有爆发力 | ICRA 2018
  10. cass参考手册_CASS9.2参考手册
  11. 实体框架提供程序类型无法加载?
  12. github命令记录
  13. 基于python中jieba包的详细使用介绍
  14. H5如何实现唤起APP
  15. 手机usb计算机连接不能选择,USB调试 是灰色按钮,无法点击,现在手机无法与电脑连接。...
  16. 【笔记】逻辑门图解—与门、或门、非门、与非门、或非门、异或门、同或门
  17. pandas抽样函数sample
  18. 诚之和:百世离场快递恶战“结束的开始”
  19. 磊科路由器dns服务器老要修复,路由器dns异常解决方法
  20. 关于gitee总显示为繁体字的奇怪问题解决方案

热门文章

  1. 移动端-仿B站页面练习
  2. 晒书名:已收藏O'Reilly出版社‘动物世界’系列图书(一)
  3. SonarQube的缺陷详解
  4. html的radio源代码,htmlradio-radio,html
  5. 人类蛋白免疫组化表达数据库使用指南
  6. 计算机(computer)
  7. 北方经贸杂志北方经贸杂志社北方经贸编辑部2023年第1期目录
  8. CMU15-445 PROJECT #1 - BUFFER POOL(Fall2020实验代码,已满分)
  9. 弗洛伊德(Floyd)算法入门
  10. MySQL中的大小写问题