DA14586可以通过两种方式唤醒:1)同步,通过BLE定时器可以编程唤醒系统;2)异步,通过外部中断(输入)。这能同时做到吗?
即:将DA14586设置为不可连接设备,并设置为定时广播。它安排下一个广告数据更新使用
app_adv_data_update_timer_used = app_easy_timer(APP_ADV_DATA_UPDATE_TO, adv_data_update_timer_cb);
(以及“app_easy_gap_advertise_stop()”命令,它将停止广告,直到接收到外部中断。
意思是DA14586是
1)处于不可连接模式(有规律间隔的连续广播)
2) DA14586定期进入睡眠模式,使用BLE定时器同步唤醒并广播数据包(在广播之间休眠)
3)当某个事件(比如GPIO0)发生时,是否可以强制唤醒处于睡眠状态的DA14586,并执行回调函数中的指令,再次进入睡眠状态,然后使用BLE定时器同步地继续唤醒。(在中断驱动唤醒过程中,执行回调函数内部的指令,并使用常规广播返回到正常的同步睡眠模式)
我感觉在我的设置中发生的是,所有中断都是禁用的,因此它看不到任何(外部)中断。
谢谢你的帮助。
Anushiya
设备:
嗨anushiya,
你可以在同一个项目中同时使用这两种方法。你能稍微解释一下你的第三个语句>你如何配置唤醒控制器来检测唤醒中断?我建议您看一下SDK的ble_app_sleepmode示例。
谢谢,PM_Dialog
谢谢你的回复。
我使用ble_app_sleepmode作为起点。
我的问题是,不仅仅是在同一个项目中有两者。
这是关于我是否可以同时激活两种睡眠模式。
也就是说,设备将处于同步休眠状态
(例如=> broadcast数据包,sleep, broadcast数据包,sleep, broadcast数据包,sleep,等等)。
但是不管它是睡着还是醒着,它都会被打断。
(示例=> broadcast一个数据包,sleep, broadcast一个数据包,sleep, interrupted sleep and service that interrupt, continue sleep, broadcast一个数据包,sleep, broadcast一个数据包)
或
(例如:>广播一个数据包,sleep,广播一个数据包,中断广播和中断、继续广播、sleep,广播一个数据包,sleep,广播一个数据包)
嗨Anushia,
唤醒计数器(这是硬件块用于确保GPIO过渡在睡眠时的唤醒)将工作,无论设备是否在睡眠,无论您是否有自主唤醒由于BLE活动。
/ MHv