你好,支持,
我正在做一个项目,需要da14580在通电后进入长时间睡眠。为了实现这一点,我使用了一个用户定义的db_init函数,如果全局变量标志没有被设置,那么Da就会休眠:
空白user_app_on_db_init_complete(空白)
{
如果(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 ();
我使用一个按钮生成的唤醒中断,唤醒代码,设置高标志,创建数据库,并开始广告。地方检察官现在打算在广告活动之间延长睡眠时间。
我想要做的是改变按钮的功能(前面描述的功能是一次性发生的)。我正在尝试使用按钮来打开一个led大约10秒。我不确定最好的方法是什么,我尝试使用gpio中断,但当我有app_default_sleep_mode = ARCH_EXT_SLEEP_ON时,它不起作用。我还试着使用了第二个标记,这个标记在外围init()中被检查过,它使用不同的回调函数再次设置按钮。这只是部分工作,led来短暂,然后关闭,任何后续按键不做任何事情。还有更好的方法吗?如果不使用调试器,我就无法找出导致led关闭的原因。
设备:
你好戴夫,
我测试了以下,你可以设置你的唤醒中断和强迫你的ble唤醒和设置你的led。在你的中断中,你可以通过使用app_easy_wakeup_set()来设置一个额外的处理程序,它将设置一个10秒的计时器,当时间流逝时,你可以切换led。为了在睡眠模式中做到这一点,你必须去set_pad_functions(),并有条件地将led置于它在醒来时的状态。
由于MT_dialog
谢谢你的建议,效果很好。