大家好,
我正在使用DA14586芯片和SDK:6.0.10.511。我使用示例ble_app_sleepmode,并且在user_config.h中,我将adv间隔设置为1秒,通过修改struction advertise_configuration user_adv_conf。广告没有问题。
我想知道是否有用App回调函数或系统级回调函数,以便通知应用程序软件。目的只是读取一些GPIO引脚状态,如果可以与ADV时隙一起执行。这将是更有效的。在我的例子中,每秒应该是1个回调(即ADVINVAL)
我在user_callback_config中尝试了cb函数,但失败了。
请帮忙。
谢谢,
设备:
嗨tristan.ubnt,
τWhere不是任何可用于此功能的回调,但我会为您的问题提出另一个可能的解决方案。请检查我附加的代码片段。此代码片段演示如何计算广告事件。ARCH_LAST_RWBLE_EVT_GET()函数将返回BLE_END_EVT的最后一个事件(函数返回最后一个状态BLE是,它通过状态滚动)。如果您的最后一个状态是BLE_END_EVT,而不是增加广告事件,您应该读取GPIOS状态。请注意,在您的设备广告时,应在广告时执行此过程,而不是在连接状态时。请尝试将附加的代码添加到ble_app_sleepmode.c / .h中。然后,您应该将user_on_ble_powered()函数注册到user_callback_config.h标题文件中的.app_on_ble_powered回调。
它应该是这样的:
.app_on_ble_powered = user_on_ble_powered,
谢谢,PM_DIALOG.