你好,
我正在研究大多数时间驻留在扩展睡眠模式的应用程序。我参考Prox_reporter示例。我有以下问题。
1.当按下按钮以及释放时,我想唤醒我的系统。是否可以?2.我可以根据我的申请状态控制通过按钮唤醒吗?意味着一旦生成中断,我想停止检测按钮唤醒中断。1秒后,我想再次重新启用按钮唤醒中断。
嗨ankit,
选项:
1)当WKUPCT_ENABLE_IRQ(UINT32_T SEL_PINS,UINT32_T POL_PINS,UINT16_T)按下或发布按钮时,您可以唤醒系统唤醒系统
events_num,uint16_t deb_time)通过根据“实施”计划定义极性(高或低)。
2)如果通过调用wkupct_enable_irq(),您可以在中断后停止检测中断后的按钮。
您可以从“文档”选项卡中建议UM-B-51在软件开发套件中。
谢谢sts_dialog。
我同意我可以唤醒任何按钮被按下或释放。
但我想在这两个活动中醒来。意味着按下按钮时,我希望被调用Button_press_cb()以及当释放的按钮时,我想被调用Button_relase_cb()。
一种。目前,我必须手动在它们之间切换。意味着当我检测按钮按下时,我将唤醒IRQ配置为按钮释放,并且在释放按钮时相同。建议我如果有更好的解决方案。湾关于停止检测,唤醒按钮,它一旦我调用wkupct_enable_irq()就会适用。功能?
1)触发唤醒定时器没有另一种选择,该过程由唤醒IRQ函数实现。这取决于极性的定义(高或低)。
2)如果您调用wkupct_enable_irq(),可以启用按钮(唤醒定时器)的中断,在其他情况下,如果您不调用上述功能,则不会发生任何情况。
谢谢,
sts_dialog。
我现在很清楚(a)。
让我们谈谈情景(b)。
我已启用唤醒按钮按下。在调用注册的回调函数之后,我在其中执行了一些处理。之后,如果我想继续在该按钮上接收中断。通过调用wkupct_enable_irq()函数,我必须再次启用IRQ吗?
是的,您必须再次调用wkupct_enable_irq()函数,否则在再次按下按钮时,您将没有中断(唤醒时间为整个过程启用中断)。您可以看到您想要按下的多次按钮使中断使得您必须调用上述功能。
每当调用按钮唤醒回调时,我必须通过调用GPIO_CONFIGUREPIN()函数来配置按钮引脚,通过调用GPIO_CONFIGUREPIN()函数?
不,通过Periph_init()函数唤醒设备唤醒时,仅定义引脚函数的配置,您不必为唤醒中断执行其他任何操作,以触发Appart调用WKUPCT_ENABLE_IRQ()正如我的Collegue提到的那样。
谢谢mt_dialog.
现在我正面临新的问题。
我已经观察到,进入扩展睡眠模式后,有时不会检测到按钮事件。按下2-3次后,它实际上检测按钮按下事件,并调用唤醒回调。当设备不在睡眠模式时,它工作正常。看门狗在它中扮演角色吗?我启用了CFG_WDOG。
我已经检查了您的场景,它运行正常(进入扩展睡眠模式后),可以检查按钮时调用wkupct_enable_irq()函数。也许你在一个条件下调用函数,它是假的,另一种选择是再次检查极性。
嗨Hantig,
请不要在现有线程中发布其他问题。为新问题创建一个新的线程。
要开始新的线程,请转到https://support.dialog-semicondiondiondum/forum.,选择“对话智能字体 - 蓝牙 - 蓝牙 - 低能量 - 软件”等相关论坛类别。在这里,您可以看到“新主题”按钮。通过单击它可以启动新线程。
嗨ankit,
选项:
1)当WKUPCT_ENABLE_IRQ(UINT32_T SEL_PINS,UINT32_T POL_PINS,UINT16_T)按下或发布按钮时,您可以唤醒系统唤醒系统
events_num,uint16_t deb_time)通过根据“实施”计划定义极性(高或低)。
2)如果通过调用wkupct_enable_irq(),您可以在中断后停止检测中断后的按钮。
您可以从“文档”选项卡中建议UM-B-51在软件开发套件中。
谢谢sts_dialog。
我同意我可以唤醒任何按钮被按下或释放。
但我想在这两个活动中醒来。意味着按下按钮时,我希望被调用Button_press_cb()以及当释放的按钮时,我想被调用Button_relase_cb()。
一种。目前,我必须手动在它们之间切换。意味着当我检测按钮按下时,我将唤醒IRQ配置为按钮释放,并且在释放按钮时相同。建议我如果有更好的解决方案。
湾关于停止检测,唤醒按钮,它一旦我调用wkupct_enable_irq()就会适用。功能?
嗨ankit,
1)触发唤醒定时器没有另一种选择,该过程由唤醒IRQ函数实现。这取决于极性的定义(高或低)。
2)如果您调用wkupct_enable_irq(),可以启用按钮(唤醒定时器)的中断,在其他情况下,如果您不调用上述功能,则不会发生任何情况。
谢谢,
sts_dialog。
我现在很清楚(a)。
让我们谈谈情景(b)。
我已启用唤醒按钮按下。在调用注册的回调函数之后,我在其中执行了一些处理。之后,如果我想继续在该按钮上接收中断。通过调用wkupct_enable_irq()函数,我必须再次启用IRQ吗?
是的,您必须再次调用wkupct_enable_irq()函数,否则在再次按下按钮时,您将没有中断(唤醒时间为整个过程启用中断)。您可以看到您想要按下的多次按钮使中断使得您必须调用上述功能。
谢谢sts_dialog。
你好,
每当调用按钮唤醒回调时,我必须通过调用GPIO_CONFIGUREPIN()函数来配置按钮引脚,通过调用GPIO_CONFIGUREPIN()函数?
嗨ankit,
不,通过Periph_init()函数唤醒设备唤醒时,仅定义引脚函数的配置,您不必为唤醒中断执行其他任何操作,以触发Appart调用WKUPCT_ENABLE_IRQ()正如我的Collegue提到的那样。
谢谢mt_dialog.
现在我正面临新的问题。
我已经观察到,进入扩展睡眠模式后,有时不会检测到按钮事件。按下2-3次后,它实际上检测按钮按下事件,并调用唤醒回调。当设备不在睡眠模式时,它工作正常。看门狗在它中扮演角色吗?我启用了CFG_WDOG。
嗨ankit,
我已经检查了您的场景,它运行正常(进入扩展睡眠模式后),可以检查按钮时调用wkupct_enable_irq()函数。也许你在一个条件下调用函数,它是假的,另一种选择是再次检查极性。
谢谢,
sts_dialog。
嗨Hantig,
请不要在现有线程中发布其他问题。为新问题创建一个新的线程。
要开始新的线程,请转到https://support.dialog-semicondiondiondum/forum.,选择“对话智能字体 - 蓝牙 - 蓝牙 - 低能量 - 软件”等相关论坛类别。在这里,您可以看到“新主题”按钮。通过单击它可以启动新线程。