基于ESP32的硬件项目教程(三)ESP32的引脚说明及数字信号读写操作
引脚说明
以下图为例
图片下方的英文部分已经有了介绍,本文将进行一次简述。
此型号开发板一共38个引脚,除去电源引脚外,可用IO引脚为34个,在图中有GPIO6~GPIO11等6个引脚标注有红色“!”,这6个引脚常作为读写闪存,一般情况下不使用。
开发板上还具有EN和BOOT两个按键,其功能如下:
1、按下EN键,ESP32重启;
2、先按下BOOT键再按下EN键,ESP32重启并进入编程模式。
所以该开发板除去6个FLASH、2个按键及UART0引脚外,实际可用引脚为23个,其为:GPIO2、4、5、12、13、14、15、16、17、18、19、21、22、23、25、26、27、32、33、34、35、36、39。
数字信号读写操作
ESP32的数字信号读写函数为:pinMode()、digitalRead()、digitalWrite()。
详解:
pinMode(pin,mode);
//功能:设置引脚工作方式;
//pin:开发板上23个引脚均可以作为数字输入引脚,除34、35、36、39外均可以作为数字输出引脚,并且34、35、36、39作为数字输入引脚时,不能设置上拉及下拉模式;
//mode:INPUT:输入模式;
// OUTPUT:输出模式;
// INPUT_PULLUP:内部上拉模式;
// INPUT_PULLDOWN:内部下拉模式;
digitalRead(pin);
//功能:读取引脚输入的数字信号;
//返回值:高电平1,低电平0;
//pin:23个引脚均可,当34、35、36、39作为输入引脚时,如果模式为上拉或者下拉,则无返回值;
digitalWrite(pin,value);
//功能:向指定引脚输出高低电平;
//pin:除34、35、36、39外的引脚;
//value:HIGH或LOW,HIGH高电平,值为1,LOW低电平,值为0.
示例
由此可进行摁键控制LED灯
代码如下:
const int key = 12; //按键引脚GPIO12
const int led = 4; //led引脚GPIO4
void setup(){pinMode(key,INPUT_PULLDOWN); //设置下拉输入
pinMode(led,OUTPUT); //设置输出
Serial.begin(115200); //串口波特率
}
void loop(){int val=digitalRead(key); //获取按键值
Serial.println(val); //串口打印
if(val == 1) //按键连接GPIO12与3V3;LED连接GPIO4与GNDdigitalWrite(led,HIGH);
elsedigitalWrite(led,LOW); //开关按下LED点亮,否则熄灭
}
基于ESP32的硬件项目教程(三)ESP32的引脚说明及数字信号读写操作相关推荐
- android真实项目教程(三)——首页初点缀_by_CJJ
大家晚上好,CJJ不好,前天打球,把右手弄脱臼了...搞得我现在只能一只手敲代码...那效率,我给自己跪了 ...写了好久,才写了那么一丁点...明明还有好多要说的...也只能等手好了再继续吧...呵 ...
- 【Qt教程】4.1 - Qt5 文件系统 QFile文件读写操作
1. Qt文件系统简介 - QFile 文件系统是应用程序必不可少的部分.Qt作为一个通用开发库,提供了跨平台的文件操作能力.Qt通过 QIODevice 提供了对I/O设备的抽象,使这些设备具有读写 ...
- android真实项目教程(五)——有时三点两点雨_by_CJJ
大家傍晚好,我是cjj,过多十几分钟就下班了,肚子饿到要死,马上可以吃饭了...呵呵...最近事情很多,要做毕设写论文,又要上班,班里又搞什么班照,系里又一些鸡毛小事就可以累死你...晕...好像在传 ...
- android真实项目教程(七)——梦醒边缘花落_by_CJJ
大家下午好,我是CJJ,说说昨晚挑灯夜写毕业论文到凌晨三点多,当写到致谢词那块时,我违心的写下: " 本论文在xxx导师的悉 心指导和亲切关怀下完成的.导师渊博的专业知识.严谨的治学态度,精 ...
- android真实项目教程(六)——落叶醉赤壁_by_CJJ
大家晚上好,我是cjj,今天不讲废话,因为我被"忙"了... 今晚主要把关于的界面(aboutFragment)完成了...效果很好哦 (自吹一下)...呵呵...其中有两个比较好 ...
- android真实项目教程(四)——MY APP MY STYLE_by_CJJ
大家下午好...如果在学校,到时间吃晚饭了....隔了好久才重新敲代码...又落后那么多了,要更加努力学习了....今天下午写了下app的第四部分... 这里给下之前三部分的地址,因为如果第一次看,, ...
- android真实项目教程(二)——漫画App初构_by_CJJ
大家晚上好,我是CJJ,继昨天写好框架之后,今天上班一直在想做什么东西...本来想拿我即将要上交的毕业设计做教程的,但是想想好像在重复工作那样子....呵呵 ... 伟大的先人说过,不要重复制造轮子. ...
- android真实项目教程(一)——App应用框架搭建_by_CJJ
大家好,我是CJJ,学android半年了,仍然是菜虫一只......为了进步,想把自己知道的知识和初学者分享,也希望路过的大神能给些意见....呵呵......开始今天的教程吧,晕,不敢说教程了 , ...
- ESP32C3基于Arduino框架下的 ESP32 RainMaker开发示例教程
ESP32C3基于Arduino框架下的 ESP32 RainMaker开发示例教程 ESP RainMaker ESP RainMaker 是乐鑫推出的一个端到端平台.基于该平台,用户无需管理基础设 ...
最新文章
- scikit-learn实现ebay数据分析 的随笔
- 卡通渲染进阶 = toonlighting + outline + rimlighting + hair specular
- java aop execution_Spring AOP -- execution表达式
- java cxf_拥抱模块化Java平台:Java 10上的Apache CXF
- 优达学城数据分析笔记3--------数据分析过程(python篇)
- php火的原因,重燃你的PHP安全之火
- LINUX find、ln 常用命令总结
- SpringBoot+thymeleaf 发送邮件
- Android 用户界面---拖放(Drag and Drop)(三)
- python爬虫学习整理——爬虫入门(1)
- 51单片机c语言两个变量比对,51单片机C语言编程技巧
- 内蒙古自治区通辽市谷歌高清卫星地图下载(百度网盘离线包下载)
- Linux中fork函数详解(附图解与代码实现)
- m451dn linux驱动下载,惠普m451dn驱动下载-惠普hp m451dn打印机驱动下载 v61.120.04官方版--pc6下载站...
- SQLite的主键外键
- AX200网卡支持linux,Intel 9260/AX200网卡在Deepin/UOS/Ubuntu下网速慢的处理
- Win8快捷键收集大汇总
- pwn入门系列-ret2libc2
- 英文文本分词之工具NLTK
- html css x y相对定位坐标,【HTML+CSS】浅谈:相对定位与绝对定位