2933|1

1万

帖子

16

TA的资源

版主

楼主
 

[ESP32-Audio-Kit音频开发板测评]六、按键测试 [复制链接]

我发现Arduino的例程比较有意思,你可以把它考出来,另起个命,或放到自己的文件夹下。

我就把按键中断那个考出来。到我自己的目录下,这样好改。

查了一下原理图:

 

查到KEY5,KEY6,对应着IO18和IO5,那还糊途什么改写如下:

#include <Arduino.h>
#include <FunctionalInterrupt.h>

#define BUTTON1 18
#define BUTTON2 5

class Button
{
public:
	Button(uint8_t reqPin) : PIN(reqPin){
		pinMode(PIN, INPUT_PULLUP);
		attachInterrupt(PIN, std::bind(&Button::isr,this), FALLING);
	};
	~Button() {
		detachInterrupt(PIN);
	}

	void IRAM_ATTR isr() {
		numberKeyPresses += 1;
		pressed = true;
	}

	void checkPressed() {
		if (pressed) {
			Serial.printf("Button on pin %u has been pressed %u times\n", PIN, numberKeyPresses);
			pressed = false;
		}
	}

private:
	const uint8_t PIN;
    volatile uint32_t numberKeyPresses;
    volatile bool pressed;
};

Button button1(BUTTON1);
Button button2(BUTTON2);


void setup() {
    Serial.begin(115200);
}

void loop() {
	button1.checkPressed();
	button2.checkPressed();
}

运行结果:

 

深深感到Arduino是个不错的东东,缺点是不能JTAG调试,只能调它的万能的库。

此帖出自RF/无线论坛

最新回复

Arduino确实个不错的开源东西,功能现在很强了   详情 回复 发表于 2021-9-20 11:26
点赞 关注
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 

回复
举报

2万

帖子

341

TA的资源

版主

沙发
 

Arduino确实个不错的开源东西,功能现在很强了

此帖出自RF/无线论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表