亲爱的支持,
我正在研究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.我试过精细调整延迟但它的使用。请问任何其他建议。
嗨Ksrgopinath,
如您所发布的链接中所述,在大多数情况下,当您分配太多的消息时,这种重置会发生这种重置,并且您不会消耗它们,最终堆积出堆,因此发生WRAP_PLATFORM复位。我没有看到通过这种行为启用Timer0和PWM功能之间的任何明显关系,因为使用定时器不分配任何消息,或者不涉及与堆栈的任何交互。因此,请检查代码中的某个位置,您正在分配它们的消息,它们无法释放,或者您正在比连接间隔更频繁地发送通知,例如,您设置了每10ms和连接间隔的每10ms生成通知的内核计时器。每2秒都会强迫信息堆积并淹没堆。
关于你的第二个问题,我不确定我是否得到了确切的问题,但您的设备应该具有的连接间隔没有通用的最佳配置。一般来说,只要你留在睡眠模式,你消耗的电量越少,而且当你的连接间隔很大时,它将强迫设备使无线电接收器处于活动的时间较长时间(由于时钟漂移)连接间隔。所选连接间隔也必须同意应用程序的要求。因此,您了解所选连接间隔必须满足您的应用程序的要求,并且即使应用程序不需要经常需要数据传输,则在选择短路或大连接间隔之间存在权衡。
谢谢mt_dialog.