ESP32 Arduino框架入门(二)外部中断和TouchPad(电容触摸引脚)

这篇具有很好参考价值的文章主要介绍了ESP32 Arduino框架入门(二)外部中断和TouchPad(电容触摸引脚)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

接ESP32 Arduino框架入门(一)介绍和工程创建(8条消息) ESP32 Arduino框架入门(一)介绍和工程创建_长谷深风灯盏的博客-CSDN博客_arduino的esp32软件系统架构        接下来继续介绍ESP32-Wroom-32E的外部引脚、中断、定时器等部分内容

        ESP32的外部引脚功能有ADC,GPIO,I²C,I²S,PWM,SDIO,SPI,UART等,同时还有8个触摸电容引脚。

该图为ESP32-Wroom-32E的引脚对应功能关系:

esp32对应arduino引脚,ESP32,单片机,嵌入式硬件,android

一、外部中断

ESP32有多种外部中断形式,例如:低电平触发、引脚由低电平变为高电平触发等。接下来介绍如何写外部中断的代码,配置外部中断需要两部分:

 1.初始化中断

esp32对应arduino引脚,ESP32,单片机,嵌入式硬件,android

 初始化中断需要在setup函数里面写入中断初始化函数:

attachInterrupt(0, Init_Key_LED, FALLING);//初始化中断
//attachInterrupt(digitalPinToInterrupt(pin), ISR, mode);
//pin:中断引脚号
//ISR:中断服务函数名
//mode:中断触发模式

函数内填入中断触发引脚,自己定义的中断服务函数,中断触发方式。中断触发方式有以下几种:(自行翻译即可)

esp32对应arduino引脚,ESP32,单片机,嵌入式硬件,android

 2.书写中断服务函数

中断服务函数就是自己定义一个函数,函数内书写我们所需要执行的任务的代码,例如:

esp32对应arduino引脚,ESP32,单片机,嵌入式硬件,android

 此代码就行声明一个中断服务函数,当中断触发时,引脚2输出低电平,并通过串口向电脑发送字符串。

二、TouchPad(电容触摸引脚)

ESP32内置多个电容触摸引脚,即当有物体接触该引脚时,可通过函数读取出一系列变化的值。可通过touchRead(Pin)函数读取此引脚的触摸值

void setup(){

    Serial.begin(115200);	//初始化串口
}

void loop(){

    int value;               //用来记录所触摸引脚的电容值
    value = touchRead(4);    //读取引脚4的电容值
    Serial.printf(value);      //串口显示电容值
}

三、触摸灯

上文已介绍了外部中断和TouchPad,接下来做个小实验,效果有两种:

1.触摸引脚后,使开发板上指示灯亮的效果;

2.按下开发板上的按键,使得LED灯亮,持续按下按键,灯持续亮

#include <Arduino.h>

int value, state;				//value用来判断Pin_4的状态
void Init_Key_LED()				//按键中断服务函数
{
  digitalWrite(2, LOW);
  Serial.printf("KeyInit Event.\r\n");  //串口显示
  delay(100);
  while (1);		//持续按下后一直执行服务函数
}

void TouchLED() //触摸灯函数
{
  digitalWrite(2, state); // Turn HIGH
  Serial.printf("Touch Event.\r\n");      //串口显示
  delay(100);             // Wait for a second
}

void setup()
{
  Serial.begin(115200);			
  pinMode(2, OUTPUT);
  attachInterrupt(0, Init_Key_LED, FALLING);//初始化中断
}

void loop()
{

  value = touchRead(4);				//触摸取值,在loop可以一直检测
  if (value <= 50)
  {
    state = HIGH;				//触摸状态
    TouchLED();					//亮灯
  }
  digitalWrite(2, !state);		//无触摸时灭灯
}

 setup函数中已经初始化了中断,在loop函数(相当于while(1){}),持续不断的检测引脚4的电容触摸值,当触摸值小于50时,引脚2输出高电平,灯亮。

至此,已介绍了ESP32的外部中断和TouchPad,该系列接下来会继续更新关于ESP32的内容。文章来源地址https://www.toymoban.com/news/detail-685507.html

到了这里,关于ESP32 Arduino框架入门(二)外部中断和TouchPad(电容触摸引脚)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Arduino ESP32开发环境搭建入门教程,esp32的arduino开发环境搭建教程,arduino导入eps32开发插件

    从官网下载 Arduino IDE 软件并安装。下载链接:Software | Arduino 网盘链接:链接:https://pan.baidu.com/s/1ZuSbo1BPy8XyyXzfl4KNzg?pwd=f8yd 提取码:f8yd 1、找到Arduino IDE安装目录,打开hardware文件夹。 2、在hardware文件夹中创建一个espressif文件夹。 3、将解压出的文件夹移动到espressif文件夹中,

    2024年02月13日
    浏览(42)
  • [Arduino] ESP32开发 - 基础入门与原理分析

    实用 GPIO 用到再查,熟能生巧,别上来就背图,一天你就忘了! 仅输入引脚 下面的四个引脚由于内部没有上拉下拉电阻,所以仅仅支持输入信号 GPIO 34 GPIO 35 GPIO 36 GPIO 39 SPI Flash 闪存引脚 这些引脚都是对 ESP32 内部 flash 进行操作的,最好不要使用这些引脚进行输入输出操作!

    2024年02月11日
    浏览(35)
  • 快速入门ESP32——开发环境配置Arduino IDE

     最近这段时间刚好在捣鼓ESP32,遇到了挺多大大小小的坑,所以我将自己的配置过程和注意要点写出来分享给大家,希望对你们有帮助。  ESP32系列单片机可以用 MicroPython 和 C ++进行编程,在这里我主要介绍C++编程语言下的两种常用的开发环境: Arduino IDE :Arduino 相信很多

    2024年02月03日
    浏览(39)
  • ESP32与Xbox手柄的UART通信测试,基于Arduino框架和pyserial+pygame

    这个项目的目标是实现使用手柄来控制ESP32。最近正在进行无人机项目,但是由于没有适合的遥控器来控制四轴,画板子也有些占用时间,所以比较有效的方法就是基于手头有的Xbox手柄来进行一个DIY,在手柄与ESP32之间建立串口通信。此处使用PC作为中继,可能速度有些慢,但

    2023年04月08日
    浏览(34)
  • STM32f103入门(4)对射式红外传感器计次(外部中断)

    中断:在主程序运行过程中,出现了特定的中断触发条件 (中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序处理完成后又返回原来被暂停的位置继续运行 中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中

    2024年02月11日
    浏览(31)
  • ESP32在Arduino框架下采用SPI或8bit并口方式使用LVGL(v8.3)

    小相机,按一下能拍照,并将照片保存在sd卡中。 使用的时VSCode+PlatformIO进行开发(强力推荐,用了就回不去了),当然也可以使用ArduinoIDE进行开发。 具体怎么使用上述软件,网上有很多答案,可以自行查找。 ESP-IDF移植教程:点击这里 使用到的库: TFT_eSPI 和 lvgl 注: 8bi

    2024年02月05日
    浏览(40)
  • ESP32 入门笔记04: 0.96寸OLED 显示屏 + u8g2库丝滑显示UI (ESP32 for Arduino IDE)

    先导知识 ESP32 入门笔记01:开发板信息、开发环境搭建以及学资料准备 ESP32 入门笔记02: GPIO参考指南 在本例中,我们使用 I2C 通信协议。ESP32 中最适合 I2C 通信的引脚是通用输入输出接口 22(SCL) 和通用输入输出接口 21(SDA) 。 安装 SSD1306 OLED 库 – ESP32 (也可以用u8g2库,在Ardu

    2024年01月19日
    浏览(40)
  • (STM32)中断系统和外部中断

    中断系统:是执行和管理中断的逻辑结构 外部中断:是众多能产生中断的外设之一 中断:指的是中断源(中断通道),中断产生CPU暂停正在执行程序,去执行中断程序,然后返回。提高效率 F1系列的STM32有68个中断源,不同系列需要看手册 EXTI(外部中断)、TIM、ADC、USART、SPI、

    2024年02月06日
    浏览(28)
  • 外部中断实验(stm32)

    说明:以下内容参考正点原子资料 中断服务函数名称默认 参考前面的文章实验代码 参考前面的文章实验代码 参考前面的文章实验代码 GPIO 的管教 GPIOx.0~GPIOx.15(x=A,B,C,D,E,F,G)分别对应中断线 0~15,这样每个中 断线对应了最多 7 个 IO 口,以线 0 为例:它对应了 GPIOA.0、GPIOB.0、

    2024年02月13日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包