你好,
我正在使用DA1468x和SDK DA1468x_SDK_BTLE_v_1.0.8.1050.1工作的一个项目。
对于这个项目,我们需要运行一个约400µs的临界部分。我们使用Timer0周期性地触发这个部分。
我们想在计时器处理程序中运行这一节,但几秒钟后,我们到达以下断言:
ASSERT_WARNING(ble_slp_delays_cnt < (BLE_MAX_DELAYS_ALLOWED + 1));
如果这个断言是真的,那么BLE的结果是什么?
定义BLE_MAX_DELAYS_ALLOWED的目的是什么?它应该如何配置?
问候,
设备:
嗨乔佛里COFFINEAU,
关于BLE_MAX_DELAYS_ALLOWED功能的详细信息,请查看UM-B-044-DA1468x软件平台参考文档。这一段解释了该定义存在的原因及其操作。
由于MT_dialog
你好,
谢谢你的回答,我刚刚发现了这个有趣的文件。
为了确保很好地理解,请确认,达到这个断言意味着我们错过了BLE事件。在BLE_MAX_DELAYS_ALLOWED中添加延迟只是用来忽略这个警告?
我还有一个关于Timer0触发的问题,是否有任何方法用Timer0中断从延长的睡眠中唤醒(在9.2段中只有Timer1似乎有这个功能)
问候,
嗨乔佛里COFFINEAU,
关于BLE_DELAYS_MAX_ALLOWED这只是一个百分比值为了SDK允许一个特定数量的延迟发生,如果发生这种断言这意味着你推迟执行slp_isr因此花了你起床了因此错过祝福活动,你醒来的时候为他们服务,但太迟了。
关于你的其他问题,只有Timer1在睡眠时运行,Timer0在睡眠时禁用,但如果你愿意,你可以通过RTOS计时器唤醒。
由于MT_dialog