跳过主要内容

sleep_lp_cycles < slp_period

DA14585

3年前

发布的ciano0点 1回复
0的问题

嗨,对话框中,

您能否给出一个解释,为什么我们有时会点击下面的ASSERT_WARNING(0),以及我们应该做什么来避免这种情况?

我们没有一个XTAL32 (32kHz晶体),但正在使用内部RCX振荡器

在rwble.c行233 ->

if ((DEVELOPMENT_DEBUG) && (USE_POWER_OPTIMIZATIONS))

slp_period_retained = slp_period;
//如果此断言命中,则LP ISR持续时间超过该时间
//通过LP_ISR_TIME_XTAL32_CYCLES和LP_ISR_TIME_USEC保留。
If (sleep_lp_cycles && (sleep_lp_cycles < slp_period))
ASSERT_WARNING (0);

最好的问候,
Ciano霜

3年前

PM_Dialog

嗨ciano,

这个断言可能意味着lp_handler花费了太多的时间来执行,而您得到的警告意味着BLE核心唤醒计算值花费了更多的时间。请查看之前的帖子:

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/some-porblem-sleep-mode

谢谢,PM_Dialog