mbed中按下按键的索引号函数
时间: 2024-01-22 18:19:53 浏览: 111
在mbed中,可以使用InterruptIn类来检测按键的按下事件。在创建InterruptIn对象时,需要将按键引脚号作为参数传递给构造函数。下面是一个示例代码,演示如何检测按键的按下事件,并输出按键的引脚号:
```cpp
#include "mbed.h"
DigitalIn button1(D4); // 定义按键1引脚为D4
DigitalIn button2(D5); // 定义按键2引脚为D5
void button_pressed() {
// 检测哪个按键被按下
if (button1.read() == 0) {
printf("Button 1 pressed\r\n");
} else if (button2.read() == 0) {
printf("Button 2 pressed\r\n");
}
}
int main() {
// 设置按键中断函数
InterruptIn button1_int(button1);
InterruptIn button2_int(button2);
button1_int.fall(&button_pressed);
button2_int.fall(&button_pressed);
while (1) {
// 主循环
}
}
```
在上面的代码中,我们定义了两个按键,分别连接到D4和D5引脚。然后,我们创建了两个InterruptIn对象,分别对应每个按键,并使用fall()函数将button_pressed()函数设置为按键下降沿中断处理函数。当按键被按下时,button_pressed()函数将被调用,然后它将检测哪个按键被按下,并输出相应的消息。
阅读全文