2 GPIO控制

ESP32的GPIO的模式,一共有输入和输出模式两类。其中输入模式:上拉输入、下拉输入、浮空输入、模拟输入;输出模式:输出模式、开漏输出(跟stm32八种输入输出模式有所不同)。库函数中控制引脚的函数如下:

1 设置数字引脚
函数原型void pinMode(uint8_t pin, uint8_t mode)
函数功能设置指定数字引脚的工作模式
返回值
参数说明pin:数字引脚编号。列如 GPIO3 : 3 mode:数字引脚的工作模式:常见有 OUTPUT 输出模式 INPUT_PULLUP 带上拉的输入模式
设计参考//将GIPO14引脚设置为输入模式 pinMode(14,OUTPUT);
2 写数字引脚
函数原型void digitalWrite(uint8_t pin, uint8_t value)
函数功能向指定的引脚输出高电平或者低电平,在写引脚之前,该引脚要设置为OUTPUT模式
返回值
参数说明pin:数字引脚编号。列如 GPIO3 : 3 mode:数字引脚的输出值: HIGH 高电平 LOW 低电平
设计参考//将GIPO14输出高电平 pinMode(14,OUTPUT); digitalWrite(14,HIGH);
3 读数字引脚
函数原型int digitalRead(uint8_t pin)
函数功能向指定的引脚的状态,在写引脚之前,该引脚要设置为INPUT模式
返回值引脚读取结果,高电平1 低电平 0
参数说明pin:数字引脚编号。 列如 GPIO3 : 3
设计参考//读取GIPO14输出电平 pinMode(14,INPUT_PULLUP); digitalRead(14)

还有两个常用的延时函数

4 毫秒级别延时函数
函数原型void delay(uint32_t ms)
函数功能毫秒级别的延时函数
返回值
参数说明ms 延时长度,单位:毫秒
设计参考//延时500ms delay(500);
5 微秒级别延时函数
函数原型void delayMicroseconds(uint32_t us)
函数功能微秒级别的延时函数
返回值
参数说明us 延时长度,单位:微秒
设计参考//延时500us delayMicroseconds(500);
4 项目

利用GPIO的输出模式,输出高、低电平,就可以实现灯光闪烁的效果,但是人眼捕捉不到这个频率的开关,所以要加上一定延时,查看ESP32-wroom原理图板载的一个蓝色LED为GPIO2。再利用按键控制LED进行闪烁一次,其按键引脚为GPIO0。

代码如下

#include <Arduino.h>



/* LED进行闪烁 */
#define LED0 2
#define Key1 0
void LEDBlink(){
  //LED进行关闭和打开的操作,实现闪灯的效果
  digitalWrite(LED0,HIGH);
  delay(500);
  digitalWrite(LED0,LOW);
  delay(500);
  delayMicroseconds
}


void setup() {
  //设置led的工作模式
  pinMode(LED0,OUTPUT);
  //设置按键引脚模式
  pinMode(Key1,INPUT_PULLUP);
  
}

bool GetKeyValue(){
  if (digitalRead(Key1)){
    return false;
  }
  else{
    return true;
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  if (GetKeyValue()){
    LEDBlink();
  }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件测试基础知识必备之浅谈单元测试

什么是单元测试&#xff1f; 单元测试是指&#xff0c;对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作&#xff0c;这里的最小可测试单元通常是指函数或者类。 单元测试都是以自动化的方式执行&#xff0c;所以在大量回归测试的场景下更能带来…

Transformer模型详解03-Self-Attention(自注意力机制)

文章目录 简介基础知识什么是AttentionSelf Attention原理通俗易懂理解矩阵计算Q&#xff0c;K&#xff0c;V计算Self-Attention 的输出 优势 Multi-head self-attention原理通俗易懂理解矩阵计算代码实现 简介 下图是论文中 Transformer 的内部结构图&#xff0c;左侧为 Enco…

【经验分享】图片自适应窗口大小css;CSS实现背景图片全屏铺满自适应的方式

目录 设置背景颜色和边距 设置背景图片 调整背景图片尺寸和位置 完整代码 使用效果如下&#xff08;展示&#xff09; 网页版图片效果展示 手机版图片效果展示 如何使用 CSS 创建网页背景效果 在网页设计中&#xff0c;背景是一个重要的视觉元素&#xff0c;它可以为网…

[优选算法]------滑动窗⼝——209. 长度最小的子数组

目录 1.题目 1.解法⼀&#xff08;暴⼒求解&#xff09;&#xff08;会超时&#xff09;&#xff1a; 2.解法⼆&#xff08;滑动窗⼝&#xff09;&#xff1a; 1.算法思路&#xff1a; 2.手撕图解 3.代码实现 1.C 2.C语言 1.题目 209. 长度最小的子数组 给定一个含有 n…

linux系统(ubuntu)调用科大讯飞SDK实现语音识别

1. 科大讯飞官网 登录注册实名制 2. 点击控制台&#xff0c;创建应用 点击左侧的语音听写&#xff0c;右边下滑选择Linux&#xff0c;点击下载 选择Linux平台&#xff0c;普通版本&#xff0c;语音听写&#xff0c;SDK下载 此时将得到一个压缩包&#xff0c;选择的功能不…

TikTok机房ip好还是住宅ip好?

住宅ip比较好&#xff0c;机房数据中心IP高效、低价&#xff0c;所以使用的人多且用处复杂&#xff0c;这类ip极大可能存在滥用的黑历史&#xff0c;通过此类ip访问tiktok&#xff0c;被禁止的可能性更高&#xff0c;更容易被拉入黑名单。所以我们推荐tiktok独享原生ip搭建节点…

如何使用CertCrunchy从SSL证书中发现和识别潜在的主机名称

关于CertCrunchy CertCrunchy是一款功能强大的网络侦查工具&#xff0c;该工具基于纯Python开发&#xff0c;广大研究人员可以利用该工具轻松从SSL证书中发现和识别潜在的主机信息。 支持的在线源 该工具支持从在线源或给定IP地址范围获取SSL证书的相关数据&#xff0c;并检索…

判断点在多边形内部

0. 介绍 网上资料很多&#xff0c;只简单介绍下&#xff0c;方便自己今后的理解。 1. 射线法 从该点引一条射线出来&#xff0c;如果和多边形有偶数个交点&#xff0c;则点在多边形外部。 因为有入必有出&#xff0c;所以从外部引进来的射线一定是交多边形偶数个点。 如图…

iOS Xcode Debug View Hierarchy 查看视图层级结构

前言 我们难免会遇到接手别人项目的情况&#xff0c;让你去改他遗留的问题&#xff0c;想想都头大&#xff0c;&#x1f602;可是也不得不面对。作为开发者只要让我们找到出问题的代码文件&#xff0c;我们就总有办法去解决它&#xff0c;那么如何快速定位问题对应的代码文件呢…

线上剧本杀小程序:为行业带来新的活力,未来可期

剧本杀是一项新型的社交游戏活动&#xff0c;从前几年开始就呈现了快速发展态势&#xff0c;为大众带来沉浸式的游戏体验&#xff0c;一度成为年轻人娱乐休闲消费的首选方式&#xff0c;吸引了大量的消费者和商家。 不过&#xff0c;在市场发展中&#xff0c;剧本杀行业仍需要…

【VTKExamples::Rendering】第四期 相机插值(CameraInterpolate)

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例CameraInterpolate,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. CameraInterpol…

朋友圈刷屏的粘土风格照片,你体验过了吗?

Remini 的粘土风格真的丑萌丑萌的&#xff01; 从去年“妙鸭相机”的走红&#xff0c;到今年Remini的刷屏&#xff0c;其实可以看出大众对于图片趣玩的兴趣非常大&#xff01; 一张普通的照片经过工具的处理&#xff0c;一下子变成新风格&#xff0c;让人眼前一亮。如果你也对…

Python中的类和对象的概念理解和创建方法1——基本概念的理解和具体程序实例

Python中的类和对象的概念理解和创建方法1——基本概念的理解和具体程序实例 目录 Python中的类和对象的概念理解和创建方法1——基本概念的理解和具体程序实例一、类和对象的概念二、类和对象的关系2.1 两者辩证关系2.2 两者内部的对应关系 三、类和对象的优势3.1 多态性3.2 封…

零代码平台助力中国石化江苏油田实现高效评价体系

概述&#xff1a; 中国石化集团江苏石油勘探局有限公司面临着评价体系依赖人工处理数据、计算繁琐且容易出错的挑战。为解决这一问题&#xff0c;他们决定借助零代码平台明道云开发江苏油田高质量发展经济指标评价系统。该系统旨在实现原始数据批量导入与在线管理、权重及评分…

颍川诞生了两个帝王的仲父

伯、仲、叔、季是古代兄弟的长幼排行顺序&#xff0c;《释名释亲属》载&#xff1a;“父之弟曰仲父……仲父之弟曰叔父”。也就是古代称父亲的兄弟为仲父&#xff0c;多用于帝王对宰相重臣的尊称。 历史上最有名的、有正史记载的帝王“仲父”有两位&#xff0c;而且都出自颍川…

Java缓存caffeine使用心得

文章目录 添加依赖一、手动加载1&#xff0c;定义缓存2&#xff0c;写入缓存&#xff08;增、改&#xff09;3&#xff0c;获取大小4&#xff0c;模拟耗时操作5&#xff0c;移除缓存元素6&#xff0c;查询缓存&#xff08;查&#xff09;7&#xff0c;统计缓存 二、同步加载1&a…

redis的双写一致性

双写一致性问题 1.先删除缓存或者先修改数据库都可能出现脏数据。 2.删除两次缓存&#xff0c;可以在一定程度上降低脏数据的出现。 3.延时是因为数据库一般采用主从分离&#xff0c;读写分离。延迟一会是让主节点把数据同步到从节点。 1.读写锁保证数据的强一致性 因为一般放…

TikTok海外运营:云手机的四种快速变现方法

随着TikTok用户基数的持续扩大&#xff0c;这个平台已成为全球创业者和品牌的新战场。其用户群接近20亿&#xff0c;并以年轻用户为主力军&#xff0c;市场渗透率逐年攀升。无论是大型组织、知名品牌&#xff0c;还是个人创业者&#xff0c;都无法忽视TikTok所带来的巨大商机。…

掌握SEO优化的关键:提升网站排名的秘籍(如何提高网站seo排名)

你是否曾经在搜索引擎上搜索过一个关键词&#xff0c;然后点击了排在前几位的网站&#xff1f;如果是&#xff0c;那么你已经体会到了SEO&#xff08;搜索引擎优化&#xff09;的威力。SEO是一项关键的网络营销策略&#xff0c;它能够让你的网站在搜索引擎中获得更高的排名&…

【Go】Go Swagger 生成和转 openapi 3.0.3

本文档主要描述在 gin 框架下用 gin-swagger 生成 swagger.json 的内容&#xff0c;中间猜的坑。以及&#xff0c;如何把 swagger 2.0 转成 openapi 3.0.3 下面操作均在项目根目录下执行 生成 swagger 2.0 import swagger go get -u github.com/swaggo/gin-swagger go get …