嗨对话框,
我使用的是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
}
谢谢!

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