你好支持,
我正在研究一个项目,需要DA14580,在上电后进入延长睡眠。要完成此此,我使用用户定义的db_init函数,如果全局变量标志没有设置,则将da放置到休眠:
void user_app_on_db_init_complete(void)
{
if(on_flag == 0)
{
gpio_setactive(gpio_led_port,gpio_led_pin);
ARCH_BLE_EXT_WAKEUP_ON();
// app_set_extended_sleep();
}
别的
default_app_on_db_init_complete();
我正在使用唤醒中断生成的唤醒中断,按下唤醒代码,设置标志高,创建数据库并开始广告。DA现在将在广告活动之间延长睡眠。
我想做的就是改变按钮的函数(先前描述的功能是一次性发生)。我试图使用按钮打开LED大约10秒。我不确定做到这一点的最佳方式,我试过只是使用GPIO中断,但是当我有app_default_sleep_mode = arch_ext_sleep_on时它不起作用。我还尝试使用第二个标志在Periph_init()中检查的第二个标志再次使用不同的回调函数再次设置按钮。这仅部分工作,LED简单地播放,然后熄灭,任何后续按钮的按钮都不做任何事情。是否有更好的方法来接近这个?如果没有使用调试器,我就可以弄清楚导致导致关闭的东西。
设备:
嗨戴夫,
我测试了以下内容,您可以设置唤醒中断并强制使用BLE唤醒并设置LED。在您的中断中,您可以使用app_easy_wakeup_set()一个附加处理程序,该处理程序将设置10秒的计时器,并且当您可以切换的时间时,可以切换到LED。为了在睡眠模式下,您必须转到set_pad_functions()并在醒来期间的条件下有条件地放置LED。
谢谢mt_dialog.
谢谢你的建议,它的工作很大。