改变按钮的回调?

3个帖子/ 0个新帖子
最后发表
戴夫。意甲首轮
离线
最后看到:2年11个月前
加入:2015-10-08 13:21
改变按钮的回调?

你好,支持,

我正在做一个项目,需要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关闭的原因。

设备:
MT_dialog
离线
最后看到:6个月,4个星期前
工作人员
加入:2015-06-08 34
你好戴夫,

你好戴夫,

我测试了以下,你可以设置你的唤醒中断和强迫你的ble唤醒和设置你的led。在你的中断中,你可以通过使用app_easy_wakeup_set()来设置一个额外的处理程序,它将设置一个10秒的计时器,当时间流逝时,你可以切换led。为了在睡眠模式中做到这一点,你必须去set_pad_functions(),并有条件地将led置于它在醒来时的状态。

由于MT_dialog

戴夫。意甲首轮
离线
最后看到:2年11个月前
加入:2015-10-08 13:21
谢谢你的建议

谢谢你的建议,效果很好。

主题锁定