使用gpio Intrupt从睡眠中醒来

⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
4个员额/0个新员额
最后一篇文章
jagath52
离线
最后一次见到:6个月2天前
加入:2020-07-06 10:40
使用gpio Intrupt从睡眠中醒来

你好

我使用的da14695控制器具有扩展和休眠睡眠模式。
我想用2个GPIO唤醒设备,用于扩展和休眠

硬件gpio设置引脚功能(加速度输入端口、加速度输入引脚、硬件gpio模式输入引脚下拉、硬件gpio功能gpio);
void wkup_init(void)
{
hw_wkup_init(空);

/*
*设置去盎司时间,单位为ms。最大允许值为63 ms。
*如果值设置为0,则禁用去盎司功能。
*/
硬件启动、设置、去抖动时间(10);

/*
*启用唤醒控制器的键块产生的中断(去抖动
*电路)并注册一个回调函数,以便在按键事件后命中。
*/
硬件工作寄存器按键中断(AcceleroIntrupt cb,1);

/*
*设置触发WKUP控制器的极性(上升/下降沿)。
*
*\注意,极性同时应用于控制器的键和GPIO块
*
*/

硬件工作模式配置引脚(加速输入端口,加速输入引脚,1,硬件工作模式引脚状态高);//0->上升沿:1下降沿1->板;;0->EVM

/*
*添加PDC LUT条目,以便在端口0上发生事件后唤醒M33堆芯
*这一点很重要,因为当设备进入睡眠状态时,M33将关闭。
*/

hw_wkup_enable_irq();
}

此键唤醒按预期工作,设备从扩展和休眠状态唤醒。

但是

硬件gpio设置引脚功能(加速度输入端口、加速度输入引脚、硬件gpio模式输入引脚下拉、硬件gpio功能gpio);
void wkup_init(void)
{
hw_wkup_init(空);
/*
*添加PDC LUT条目,以便在端口0上发生事件后唤醒M33堆芯
*这一点很重要,因为当设备进入睡眠状态时,M33将关闭。
*/
硬件启动gpio配置引脚(加速接口端口,加速接口引脚,1,硬件启动引脚状态高);
pdc_wkup_gpio_id=hw_pdc_添加_条目(hw_pdc_LUT_条目值(加速输入端口、加速输入引脚、硬件pdc_主控CM33、0));
OS_断言(pdc_wkup_gpio_id!=HW_pdc_无效_LUT_索引);

/*
*通过SW触发PDC LUT条目。此操作可确保PD_系统
*power domain保持打开状态,以防应用程序使所有其他域无效
*激活的PDC条目使M33保持活动状态。
*/
硬件pdc设置挂起(pdc工作gpio id);

/*
*建议确认新创建(和激活)的PDC条目
*虽然并非严格需要,但M33将自动确认
*在下一次尝试进入睡眠之前,所有M33挂起的PDC条目都将被删除。
*/
硬件pdc确认(pdc工作gpio id);
硬件工作寄存器gpio p1中断(加速器中断cb,2);

hw_wkup_enable_irq();
}

真空加速器内部断路器(真空)
{
状态=硬件工作状态(硬件GPIO端口1);
hw_启动_清除_状态(hw_GPIO_端口_1,状态);

wakeUpExtendedSleep=true;
硬件启动复位中断();
pm_睡眠模式设置(pm_模式激活);

硬件gpio设置引脚功能(红色端口、红色引脚、硬件gpio模式输出、硬件gpio函数gpio);
硬件gpio焊盘闩锁启用(红色端口、红色引脚);
hw_gpio_焊盘_闩锁_禁用(红色端口、红色引脚);

hw_gpio_设置_不活动(红色端口、红色引脚);
延迟μms(1000);
延迟μms(1000);
硬件gpio设置激活(红色端口、红色引脚);

}

但gpio唤醒并不是将设备从休眠和延长睡眠模式中唤醒。
此外,我在gpio intrrupt回调中放置了led开关,回调正在执行,led已打开,但设备正在从睡眠中醒来
获得INTRRUT后,设备将挂起
我想使用两个gpio从睡眠中唤醒,如何使用hw_wkup_gpio_configure_pin配置和使用两个gpio唤醒

非常感谢。

贾加特

设备:
PM_对话框
离线
最后一次见到:1周5天前
工作人员
加入:2018-02-08 11:03
你好,jagath52,

你好,jagath52,

谢谢你的提问。在最初的帖子中,您已经添加了2个wkup_init()函数。因此,据我理解,第一个正在按预期工作,另一个正在工作。我的假设正确吗?

对于唤醒,使用ACCEL_INT_PORT/_引脚,因此需要为唤醒控制器配置第二个GPIO以进行唤醒。正确吗?

谢谢,下午好

jagath52
离线
最后一次见到:6个月2天前
加入:2020-07-06 10:40
你好,下午好

你好,下午好

是,我想使用gpio唤醒控制器用第二个gpio唤醒设备。钥匙唤醒控制器按预期工作。

非常感谢。
贾加特

PM_对话框
离线
最后一次见到:1周5天前
工作人员
加入:2018-02-08 11:03
你好,jagath52m

你好,jagath52m

你能检查一下房间吗DA1469x唤醒控制器DA1469x门户的软件示例?要启用GPIO P0子块,WKUP\U GPIO\U P0\U block\U enable宏应设置为1。

请试一试,让我知道。

谢谢,下午好