按钮GPIO中断

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
3个帖子/ 0新
最后一篇
dx3gerst
离线
最后一次露面:4年1个月前
加入:2017年3月29日13:35
按钮GPIO中断

嗨对话框,

我使用的是peripherals_demo与UART设备进行通信。现在我想用按钮K1(P1_6)在开发板上(基本)为GPIO,中断其切换橙色板(P1_5)LED。我认为hw_wkup_interrupt将是适当的。是否在所有模式这个中断工作(活动,睡眠,延长休眠)?
我无法找到有关如何实现一个ISR的任何文件,所以你能帮帮我吗?
如果我得到它的权利,引脚配置和初始化中断应插入periph_setup()函数。

空隙periph_setup(无效)
{
......
//引脚配置
hw_gpio_set_pin_function(HW_GPIO_PORT_1,HW_GPIO_PIN_6,HW_GPIO_MODE_INPUT_PULLUP,HW_GPIO_FUNC_GPIO);//按钮K1
hw_gpio_set_pin_function(HW_GPIO_PORT_1,HW_GPIO_PIN_5,HW_GPIO_MODE_OUTPUT,HW_GPIO_FUNC_GPIO);// LED D2

//初始化中断
hw_wkup_init(NULL);
hw_wkup_register_interrupt(wkup_ISR,1);
hw_wkup_configure_pin(HW_GPIO_PORT_1,HW_GPIO_PIN_6,真实,HW_WKUP_PIN_STATE_LOW);
......
}

应该在哪里ISR执行?在第一步中,我只是想激活和关闭LED,所以我可以保证中断工作。

静态无效wkup_ISR(无效)
{
hw_wkup_reset_interrupt();
hw_gpio_set_active(HW_GPIO_PORT_1,HW_GPIO_PIN_5);//接通LED以筛选功能
......
hw_gpio_set_inactive(HW_GPIO_PORT_1,HW_GPIO_PIN_5);//切断LED
}

谢谢!

设备:
mt_dialog.
离线
最后一次露面:6个月3周前
职员
加入:2015-06-08 11:34
嗨dx3gerst,

嗨dx3gerst,

你是什​​么意思“其中ISR应实行”,在哪个文件?您可以在main.c文件中的代码执行,如果你想。也不要发生在periph_init唤醒中断设置()(此功能是越来越在每个醒来调用,以设置退出睡眠后,你的脚),你可以看看SDK中hrp_sensor例如,例如地方它调用periph_init的periph_init()仅用于销的配置和中断在prvSetupHardware()函数来实现的唤醒的设置,就在pm_system_init(后)()。

谢谢mt_dialog.

dx3gerst
离线
最后一次露面:4年1个月前
加入:2017年3月29日13:35
谢谢!

谢谢!