国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ESP32 Arduino框架入門(二)外部中斷和TouchPad(電容觸摸引腳)

這篇具有很好參考價(jià)值的文章主要介紹了ESP32 Arduino框架入門(二)外部中斷和TouchPad(電容觸摸引腳)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

接ESP32 Arduino框架入門(一)介紹和工程創(chuàng)建(8條消息) ESP32 Arduino框架入門(一)介紹和工程創(chuàng)建_長谷深風(fēng)燈盞的博客-CSDN博客_arduino的esp32軟件系統(tǒng)架構(gòu)????????接下來繼續(xù)介紹ESP32-Wroom-32E的外部引腳、中斷、定時(shí)器等部分內(nèi)容

????????ESP32的外部引腳功能有ADC,GPIO,I2C,I2S,PWM,SDIO,SPI,UART等,同時(shí)還有8個(gè)觸摸電容引腳。

該圖為ESP32-Wroom-32E的引腳對應(yīng)功能關(guān)系:

esp32對應(yīng)arduino引腳,ESP32,單片機(jī),嵌入式硬件,android

一、外部中斷

ESP32有多種外部中斷形式,例如:低電平觸發(fā)、引腳由低電平變?yōu)楦唠娖接|發(fā)等。接下來介紹如何寫外部中斷的代碼,配置外部中斷需要兩部分:

?1.初始化中斷

esp32對應(yīng)arduino引腳,ESP32,單片機(jī),嵌入式硬件,android

?初始化中斷需要在setup函數(shù)里面寫入中斷初始化函數(shù):

attachInterrupt(0, Init_Key_LED, FALLING);//初始化中斷
//attachInterrupt(digitalPinToInterrupt(pin), ISR, mode);
//pin:中斷引腳號(hào)
//ISR:中斷服務(wù)函數(shù)名
//mode:中斷觸發(fā)模式

函數(shù)內(nèi)填入中斷觸發(fā)引腳,自己定義的中斷服務(wù)函數(shù),中斷觸發(fā)方式。中斷觸發(fā)方式有以下幾種:(自行翻譯即可)

esp32對應(yīng)arduino引腳,ESP32,單片機(jī),嵌入式硬件,android

?2.書寫中斷服務(wù)函數(shù)

中斷服務(wù)函數(shù)就是自己定義一個(gè)函數(shù),函數(shù)內(nèi)書寫我們所需要執(zhí)行的任務(wù)的代碼,例如:

esp32對應(yīng)arduino引腳,ESP32,單片機(jī),嵌入式硬件,android

?此代碼就行聲明一個(gè)中斷服務(wù)函數(shù),當(dāng)中斷觸發(fā)時(shí),引腳2輸出低電平,并通過串口向電腦發(fā)送字符串。

二、TouchPad(電容觸摸引腳)

ESP32內(nèi)置多個(gè)電容觸摸引腳,即當(dāng)有物體接觸該引腳時(shí),可通過函數(shù)讀取出一系列變化的值。可通過touchRead(Pin)函數(shù)讀取此引腳的觸摸值

void setup(){

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

void loop(){

    int value;               //用來記錄所觸摸引腳的電容值
    value = touchRead(4);    //讀取引腳4的電容值
    Serial.printf(value);      //串口顯示電容值
}

三、觸摸燈

上文已介紹了外部中斷和TouchPad,接下來做個(gè)小實(shí)驗(yàn),效果有兩種:

1.觸摸引腳后,使開發(fā)板上指示燈亮的效果;

2.按下開發(fā)板上的按鍵,使得LED燈亮,持續(xù)按下按鍵,燈持續(xù)亮

#include <Arduino.h>

int value, state;				//value用來判斷Pin_4的狀態(tài)
void Init_Key_LED()				//按鍵中斷服務(wù)函數(shù)
{
  digitalWrite(2, LOW);
  Serial.printf("KeyInit Event.\r\n");  //串口顯示
  delay(100);
  while (1);		//持續(xù)按下后一直執(zhí)行服務(wù)函數(shù)
}

void TouchLED() //觸摸燈函數(shù)
{
  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;				//觸摸狀態(tài)
    TouchLED();					//亮燈
  }
  digitalWrite(2, !state);		//無觸摸時(shí)滅燈
}

?setup函數(shù)中已經(jīng)初始化了中斷,在loop函數(shù)(相當(dāng)于while(1){}),持續(xù)不斷的檢測引腳4的電容觸摸值,當(dāng)觸摸值小于50時(shí),引腳2輸出高電平,燈亮。

至此,已介紹了ESP32的外部中斷和TouchPad,該系列接下來會(huì)繼續(xù)更新關(guān)于ESP32的內(nèi)容。文章來源地址http://www.zghlxwxcb.cn/news/detail-685507.html

到了這里,關(guān)于ESP32 Arduino框架入門(二)外部中斷和TouchPad(電容觸摸引腳)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Arduino ESP32開發(fā)環(huán)境搭建入門教程,esp32的arduino開發(fā)環(huán)境搭建教程,arduino導(dǎo)入eps32開發(fā)插件

    Arduino ESP32開發(fā)環(huán)境搭建入門教程,esp32的arduino開發(fā)環(huán)境搭建教程,arduino導(dǎo)入eps32開發(fā)插件

    從官網(wǎng)下載 Arduino IDE 軟件并安裝。下載鏈接:Software | Arduino 網(wǎng)盤鏈接:鏈接:https://pan.baidu.com/s/1ZuSbo1BPy8XyyXzfl4KNzg?pwd=f8yd 提取碼:f8yd 1、找到Arduino IDE安裝目錄,打開hardware文件夾。 2、在hardware文件夾中創(chuàng)建一個(gè)espressif文件夾。 3、將解壓出的文件夾移動(dòng)到espressif文件夾中,

    2024年02月13日
    瀏覽(32)
  • [Arduino] ESP32開發(fā) - 基礎(chǔ)入門與原理分析

    [Arduino] ESP32開發(fā) - 基礎(chǔ)入門與原理分析

    實(shí)用 GPIO 用到再查,熟能生巧,別上來就背圖,一天你就忘了! 僅輸入引腳 下面的四個(gè)引腳由于內(nèi)部沒有上拉下拉電阻,所以僅僅支持輸入信號(hào) GPIO 34 GPIO 35 GPIO 36 GPIO 39 SPI Flash 閃存引腳 這些引腳都是對 ESP32 內(nèi)部 flash 進(jìn)行操作的,最好不要使用這些引腳進(jìn)行輸入輸出操作!

    2024年02月11日
    瀏覽(26)
  • 快速入門ESP32——開發(fā)環(huán)境配置Arduino IDE

    快速入門ESP32——開發(fā)環(huán)境配置Arduino IDE

    ?最近這段時(shí)間剛好在搗鼓ESP32,遇到了挺多大大小小的坑,所以我將自己的配置過程和注意要點(diǎn)寫出來分享給大家,希望對你們有幫助。 ?ESP32系列單片機(jī)可以用 MicroPython 和 C ++進(jìn)行編程,在這里我主要介紹C++編程語言下的兩種常用的開發(fā)環(huán)境: Arduino IDE :Arduino 相信很多

    2024年02月03日
    瀏覽(28)
  • ESP32與Xbox手柄的UART通信測試,基于Arduino框架和pyserial+pygame

    ESP32與Xbox手柄的UART通信測試,基于Arduino框架和pyserial+pygame

    這個(gè)項(xiàng)目的目標(biāo)是實(shí)現(xiàn)使用手柄來控制ESP32。最近正在進(jìn)行無人機(jī)項(xiàng)目,但是由于沒有適合的遙控器來控制四軸,畫板子也有些占用時(shí)間,所以比較有效的方法就是基于手頭有的Xbox手柄來進(jìn)行一個(gè)DIY,在手柄與ESP32之間建立串口通信。此處使用PC作為中繼,可能速度有些慢,但

    2023年04月08日
    瀏覽(18)
  • STM32f103入門(4)對射式紅外傳感器計(jì)次(外部中斷)

    STM32f103入門(4)對射式紅外傳感器計(jì)次(外部中斷)

    中斷:在主程序運(yùn)行過程中,出現(xiàn)了特定的中斷觸發(fā)條件 (中斷源),使得CPU暫停當(dāng)前正在運(yùn)行的程序,轉(zhuǎn)而去處理中斷程序處理完成后又返回原來被暫停的位置繼續(xù)運(yùn)行 中斷優(yōu)先級(jí):當(dāng)有多個(gè)中斷源同時(shí)申請中斷時(shí),CPU會(huì)根據(jù)中斷源的輕重緩急進(jìn)行裁決,優(yōu)先響應(yīng)更加緊急的中

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

    ESP32在Arduino框架下采用SPI或8bit并口方式使用LVGL(v8.3)

    小相機(jī),按一下能拍照,并將照片保存在sd卡中。 使用的時(shí)VSCode+PlatformIO進(jìn)行開發(fā)(強(qiáng)力推薦,用了就回不去了),當(dāng)然也可以使用ArduinoIDE進(jìn)行開發(fā)。 具體怎么使用上述軟件,網(wǎng)上有很多答案,可以自行查找。 ESP-IDF移植教程:點(diǎn)擊這里 使用到的庫: TFT_eSPI 和 lvgl 注: 8bi

    2024年02月05日
    瀏覽(43)
  • ESP32 入門筆記04: 0.96寸OLED 顯示屏 + u8g2庫絲滑顯示UI (ESP32 for Arduino IDE)

    ESP32 入門筆記04: 0.96寸OLED 顯示屏 + u8g2庫絲滑顯示UI (ESP32 for Arduino IDE)

    先導(dǎo)知識(shí) ESP32 入門筆記01:開發(fā)板信息、開發(fā)環(huán)境搭建以及學(xué)資料準(zhǔn)備 ESP32 入門筆記02: GPIO參考指南 在本例中,我們使用 I2C 通信協(xié)議。ESP32 中最適合 I2C 通信的引腳是通用輸入輸出接口 22(SCL) 和通用輸入輸出接口 21(SDA) 。 安裝 SSD1306 OLED 庫 – ESP32 (也可以用u8g2庫,在Ardu

    2024年01月19日
    瀏覽(21)
  • (STM32)中斷系統(tǒng)和外部中斷

    (STM32)中斷系統(tǒng)和外部中斷

    中斷系統(tǒng):是執(zhí)行和管理中斷的邏輯結(jié)構(gòu) 外部中斷:是眾多能產(chǎn)生中斷的外設(shè)之一 中斷:指的是中斷源(中斷通道),中斷產(chǎn)生CPU暫停正在執(zhí)行程序,去執(zhí)行中斷程序,然后返回。提高效率 F1系列的STM32有68個(gè)中斷源,不同系列需要看手冊 EXTI(外部中斷)、TIM、ADC、USART、SPI、

    2024年02月06日
    瀏覽(23)
  • 外部中斷實(shí)驗(yàn)(stm32)

    外部中斷實(shí)驗(yàn)(stm32)

    說明:以下內(nèi)容參考正點(diǎn)原子資料 中斷服務(wù)函數(shù)名稱默認(rèn) 參考前面的文章實(shí)驗(yàn)代碼 參考前面的文章實(shí)驗(yàn)代碼 參考前面的文章實(shí)驗(yàn)代碼 GPIO 的管教 GPIOx.0~GPIOx.15(x=A,B,C,D,E,F(xiàn),G)分別對應(yīng)中斷線 0~15,這樣每個(gè)中 斷線對應(yīng)了最多 7 個(gè) IO 口,以線 0 為例:它對應(yīng)了 GPIOA.0、GPIOB.0、

    2024年02月13日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包