你好,
我正在使用da1468x使用da1468x的项目,使用sdk da1468x_sdk_btle_v_1.0.8.1050.1。
对于这个项目,我们需要运行大约400μs的关键部分。并且我们使用Timer0定期触发此部分。
我们想在Timer Handler中运行此部分,但在几秒钟后我们达到以下声明:
assert_warning(ble_slp_delays_cnt <(ble_max_delays_allowed + 1));
如果这个断言是真的,那么BLE的后果是什么?
ble_max_delays_allowed定义的目的是什么?它应该如何配置?
问候,
设备:
嗨Joffrey Coffineau,
请检查第9.3.1段中的UM-B-044-DA1468x Software Platforce Reference.pdf,了解有关BLE_MAX_DELAYS_ALLOWED功能的详细信息。特定段落解释了定义的存在原因及其操作。
谢谢mt_dialog.
你好,
谢谢你的答案,我刚发现了这个有趣的文件。
肯定会很好地理解,愿你确认达到这种断言意味着我们想念博彩事件。BLE_MAX_DELAYS_ALLOWED的添加延迟刚刚用于忽略此警告?
我还有一个关于Timer0触发的问题,是否有任何方法可以通过Timer0中断从扩展睡眠唤醒(在第9.2段中只有Timer1似乎有这个功能)
问候,
嗨Joffrey Coffineau,
关于ble_delays_max_allowed这只是一个百分比值,以便为sdk允许发生特定的延迟,如果发生这种断言,则意味着您已延迟执行SLP_ISR,因此您花了时间醒来,因此您丢失了BLE活动,你醒来为他们服务,但你为时已晚。
关于其他问题,只有Timer1在睡眠时运行,Timer0在睡眠时被禁用,但如果您愿意,可以通过RTOS定时器唤醒。
谢谢mt_dialog.