跳到主要内容

DA14580唤醒中断软件设计

2年前

DA14580唤醒中断软件设计

张贴了亚伦李0分 4回复
0旋转

您好对话框支持团队,
我想使用GPIO_PORT_2 / GPIO_PIN_4的中断来控制DA14580睡眠和唤醒。详细信息如下:
如果GPIO_PORT_2 / GPIO_PIN_4成为逻辑1,则将引发中断并从睡眠模式唤醒系统。使用wkupct_enable_irq()来定义此中断。
如果GPIO_PORT_2 / GPIO_PIN_4成为逻辑0,则将触发另一个中断,并让系统进入睡眠模式。使用gpio_enableirq()定义此中断。
两个不同的中断将使用相同的GPIO端口和引脚。你可以帮助建议上述解决方案是可行的吗?或者你能给我一些更好的解决方案吗?

非常感谢您的建议!

2年前

PM_DIALOG.

嗨亚伦李,

关于唤醒过程,我强烈建议您检查SDK的BLE_APP_SLEEPMODE示例。此示例演示了此功能,但您应该将极性更改为高。当580醒来时,您可以使用唤醒控制器获取中断,以便将设备进入睡眠状态,但您应该将极性重新配置为低(可能需要标志),然后更改回调函数将触发。

谢谢,PM_DIALOG.

2年前

亚伦李 0分

嗨对话框PM,
非常感谢您的建议!顺便问一下,你能帮助建议以下方法是否可行?
使用相同的GPIO端口(GPIO_PORT2)和引脚(GPIO_PIN4)定义两个不同的中断。
使用wkupct_enable_irq()定义唤醒中断。
gpio_enableirq()来定义GPIO中断,让设备进入睡眠模式

谢谢你的帮忙!

2年前

亚伦李 0分

嗨对话框PM,
非常感谢您的建议!顺便问一下,你能帮助建议以下方法是否可行?
使用相同的GPIO端口(GPIO_PORT2)和引脚(GPIO_PIN4)定义两个不同的中断。
使用wkupct_enable_irq()定义唤醒中断。
gpio_enableirq()来定义GPIO中断,让设备进入睡眠模式

谢谢你的帮忙!

2年前

PM_DIALOG.

嗨亚伦李,

是的,这是可行的。当触发WKUPCT_ENABLE_IRQ()并唤醒设备时,您应该将GPIO配置为GPIO_ENABLEIRQ()。当您获取其他中断并触发回调时,应将GPIO重新配置为唤醒中断并重新启用唤醒控制器。在两个案例中,您应该注意GPIO的极性。

谢谢,PM_DIALOG.