例程适用于其他ESP32开发板
一、ESP32Cam引脚图
二、ArduinoIDE代码编写
public.h
#ifndef _public_H
#define _public_H
#include "Arduino.h"
//类型重定义
typedef unsigned char u8;
typedef unsigned int u16;
#endif
中断文件编写
exit.h
#ifndef _exti_H
#define _exti_H
#include "public.h"
//定义按键控制管脚
#define key_pin 0
//变量声明
extern volatile u8 key_sta;
//函数声明
void exti_init(void);
void key_isr(void);
#endif
exit.c
#include "exti.h"
volatile u8 key_sta=0;
//端口初始化
void exti_init(void)
{
pinMode(key_pin, INPUT_PULLUP);//设置引脚为输入上拉模式
attachInterrupt(digitalPinToInterrupt(key_pin), key_isr, FALLING);//设置下降沿触发
}
void key_isr(void)
{
key_sta=!key_sta;
}
main.c
#include "public.h"
#include "exti.h"
//定义LED控制引脚
#define led_pin 4
//定义全局变量
void setup() {
pinMode(led_pin, OUTPUT);//设置引脚为输出模式
digitalWrite(led_pin,LOW);
exti_init();
}
void loop() {
digitalWrite(led_pin,key_sta);
}