rwble assert_warning问题

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
2个帖子/ 0新
最后一篇
Rajapurerohit.
离线
最后一次露面:9个月2周前
加入:2017-04-20 09:17
rwble assert_warning问题

嗨DialogSupport,

我正在研究我正在研究I2C基础触摸传感器的项目。我使用DA14583 MCU和IQS333触摸传感器MCU设计了定制板。

我已经写了固件,现在我正在研究睡眠模式配置。首先,我遵循是定义/启用ARCH_EXT_SLEEP_ON。
const static sleep_state_t app_default_sleep_mode = arch_ext_sleep_on;

如果我运行代码,它会立即进入附加的SINPPET和
陷入assert_warning(0);线路尚未写入任何唤醒API功能。

void lld_sleep_compensate_func_patched(void)
{
uint32_t dur_us;
uint32_t slot_corr;
uint32_t fine_corr;

//获得低功耗睡眠周期的数量
uint32_t slp_period = ble_deepslstat_get();

// Sanity检查:睡眠的持续时间有限
assert_err(slp_period

//将睡眠持续时间转换为我们
dur_us = lld_sleep_lpcycles_2_us_sel_func(slp_period);
slot_corr = dur_us / 625;
fine_corr = 624 - (dur_us%625);
如果(fine_corr == 0)
fine_corr = 1;

//校正值从美国的睡眠持续时间推导出来
ble_basetimecntcorr_set(slot_corr);
ble_finecntcorr_set(fine_corr);

//开始纠正
ble_deep_sleep_corr_en_setf(1);

if((development_debug)&&(use_power_optimizations))
{
slp_period_retated = slp_period;
//如果此断言命中,则LP ISR持续时间长于时间
//已通过LP_ISR_TIME_XTAL32_CYCLES和LP_ISR_TIME_USEC保留。
if(sleep_lp_cycles &&(sleep_lp_cycles assert_warning(0);
}

}

请注意,我有一个来自传感器的RDY_PIN中断,每当有低脉冲时中断我的MCU(此脉冲每10ms中断MCU)并进入中断处理程序,以读取来自传感器的数据。

在调试时,我遇到了设备的行为,即在当时我获得I2C_RDY引脚中断传感器时,设备进入ASSERT_WARNING(0);
但是,如果我删除rdy_pin中断,则代码不会进入assert_warning(0);

任何人都可以帮助我解决问题。如何根据需要调试此操作并工作。我迫切让我调试。

感谢致敬
rohit.

设备:
PM_DIALOG.
离线
最后一次露面:3小时23分钟前
职员
加入:2018-02-08 11:03
嗨rajapurerohit,

嗨rajapurerohit,

此断言可能意味着LP_HANLDER需要太多时间来执行和警告,即您的意味着它需要更多的时间才能唤醒计算值。请检查以前的线程:

https://support.dialog-seminile.com/forums/post/dialog-smartbond-bluetooth-low-energy-%2%80%93-software/some- tormal-sleep-mode.

谢谢,PM_DIALOG.