DA14581
5年前
发布的Cosmin0点 3回复你好,对话框,
我想做一个BLE遥控器,我想用按钮中断。我正在使用以下代码:
GPIO_RegisterCallback(GPIO0_IRQn, app_button_press_cb);
GPIO_RegisterCallback(GPIO1_IRQn, app_button_press_cb);
GPIO_EnableIRQ(GPIO_PORT_0, GPIO_PIN_6, GPIO0_IRQn, true, true, 16);
GPIO_EnableIRQ(GPIO_PORT_1, GPIO_PIN_1, GPIO1_IRQn, true, true, 16);
这是很好。我按任意一个按钮,它将我发送到中断功能。
我的问题是,如果我想使用更多的按钮(我至少有6个),IRQn只有5个GPIO中断(GPIO0_IRQn到GPIO4_IRQn),我如何为更多的按钮启用更多的中断?
如果我把GPIO0_IRQn放在两个enable函数上,只有最后一个按钮是启用的。
谢谢你!
Cosmin。
5年前
嗨Cosmin,
如果你想在你的设备中有更多的按钮,你可以使用矩阵方案,因为GPIO中断是有限的,请检查远程或键盘参考设计,以获得关于如何实现这一点的更多信息。或者你可以尝试的另一件事是,在中断(在ISR)轮询指定的引脚(获得每个引脚的状态)。
由于MT_dialog