reset_after_spota_update错误

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

亲爱的支持,

我正在研究DA14580定制板。随着你的帮助,我们已经进展了很多。现在我们有一个新问题,我们的代码执行是不断击中的
/ **
****************************************************************************************
* @brief包装的平台重置。它将在软件重置之前调用它
*从堆栈发出。可能的原因将包含在错误字段中
* @param [in]错误重置的原因。它将是以下之一:
* reset_no_error,reset_mem_alloc_fail,reset_to_rom,reset_and_load_fw
* @return什么都没有。
****************************************************************************************
* /
void wrap_platform_reset(UINT32_T错误)
{
assert_warning(错误== reset_after_spota_update);//在Spota重置的情况下不要破裂
platform_reset_func(错误);
}
到目前为止,我一直在篡改BLE_APP_PERPHERAL项目来修剪我们的需求。

哪个是
1.我们获得ADC数据的3个温度传感器的数据收集
2.使用Timer0的一个传感器从一个传感器记录脉冲持续时间的数据收集,使用已经存在的PWM代码。
3.使用间隔计时器以中间的读数来获取读数,因为这是我使用“SystemTick代码”来设置15分钟的计时器。哪个踢在应用程序初始化(default_app_on_init)上开始。

在所有我们拼接到实现的所有图片都是获得读数,3个温度和1个传感器(PWM)@ 15分钟间隔,并将其包装到一个数据包中并在本地存储(缓冲区大小10)。当应用程序对数据请求时,我们将在另一个数据发送这些。

我们能够发送3个温度数据和虚拟传感器数据成功包装。但是当我们启用Timer0并尝试使用PWM时,我们正在击中此错误= reset_after_spota_update。

请问这里的任何指针。此外,您是否会向我们提供关于如何以间隔开启蓝牙板的提示,以节省电流消耗/。
此致,
斯里

注意:就像这里提到的那样https://support.dialog-seminiondiondiondiondum/how-notify-when-i-push-button.我试过精细调整延迟但它的使用。请问任何其他建议。

设备:
mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨Ksrgopinath,

嗨Ksrgopinath,

如您所发布的链接中所述,在大多数情况下,当您分配太多的消息时,这种重置会发生这种重置,并且您不会消耗它们,最终堆积出堆,因此发生WRAP_PLATFORM复位。我没有看到通过这种行为启用Timer0和PWM功能之间的任何明显关系,因为使用定时器不分配任何消息,或者不涉及与堆栈的任何交互。因此,请检查代码中的某个位置,您正在分配它们的消息,它们无法释放,或者您正在比连接间隔更频繁地发送通知,例如,您设置了每10ms和连接间隔的每10ms生成通知的内核计时器。每2秒都会强迫信息堆积并淹没堆。

关于你的第二个问题,我不确定我是否得到了确切的问题,但您的设备应该具有的连接间隔没有通用的最佳配置。一般来说,只要你留在睡眠模式,你消耗的电量越少,而且当你的连接间隔很大时,它将强迫设备使无线电接收器处于活动的时间较长时间(由于时钟漂移)连接间隔。所选连接间隔也必须同意应用程序的要求。因此,您了解所选连接间隔必须满足您的应用程序的要求,并且即使应用程序不需要经常需要数据传输,则在选择短路或大连接间隔之间存在权衡。

谢谢mt_dialog.