我的ESP32学习(4)

touch中断和外部中断

#include <Arduino.h>
#define EXT_ISR_MODE 1
//定义中断的mode:
//1:touch中断,执行touchevent
//2:外部中断
// put function declarations here:
// int myFunction(int, int);
void TouchEvent();
void PinIntEvent();
void setup() {
  // put your setup code here, to run once:
  // pinMode(32, OUTPUT);
  Serial.begin(115200);
#if 1==EXT_ISR_MODE
  touchAttachInterrupt(T0,TouchEvent,40);
  // 设置GPIO04,函数指针TouchEvent,阈值40
#elif 2==EXT_ISR_MODE
  pinMode(32,INPUT_PULLUP);
  attachInterrupt(0,PinIntEvent,FALLING);
#endif
}
void loop() {
  // // put your main code here, to run repeatedly:
  // digitalWrite(32, HIGH);   // turn the LED on (HIGH is the voltage level)
  // delay(1000);                       // wait for a second
  // digitalWrite(32, LOW);    // turn the LED off by making the voltage LOW
  // delay(1000);
  #if 0==EXT_ISR_MODE
   Serial.printf("touch:%d\r\n",touchRead(T0));
  #endif 
  delay(20);
}
// // put function definitions here:
// int myFunction(int x, int y) {
//   return x + y;
// }
// 1.Touch中断事件
void TouchEvent()
{
  Serial.printf("TouchEvent.\r\n");
}
// 2.外部中断事件
void PinIntEvent()
{
  Serial.printf("PinIntEvent.\r\n");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值