BLE_APP_SLEEPMODE可以使用XTAL16M和没有XTAL32K的工作

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

你好,

我有一个带有XTAL16M的自定义板,连接XTAL32K连接。当我在non_connectable模式下运行ble_app_sleepmode示例时,wdog超时发生并进入函数/例程nmi_handlerc。

When I commented the line #define CFG_WDOG in da1458x_config_basic.h, I notice the code stays in while(!ble_deep_sleep_stat_getf()); for ever.

我也不能使用RCX20。代码抱怨。

How can I resolve this without connecting XTAL32K?

我正在使用SDK 6.0.10.511

谢谢,

Anushiya.

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

嗨Anushiya,

由于没有XTAL32定制板上,你should switch the Low Power clock the RCX in order to operate when going to sleep. Please check da1458x_config_advanced.h file and change the CFG_LP_CLK from LP_CLK_XTAL32 to LP_CLK_RCX20. In addition, keep in mind that the XTAL16M adaptive settling algorithm works only with XTAL23K and not with RCX, as the LP clock, so you should undefine the CFG_XTAL16M_ADAPTIVE_SETTLING macro check da1458x_config_advanced.h file. Regarding the WDOG, you should not comment it out, since it’s SDK definition and you will not be able to build you project. If you don’t want to use it, you should undefine it. However, if the WDOG is disabled and your firmware gets stuck somewhere, you the WDOG will never hit. So, me recommendation is to keep the WDOG enabled for your debugging.

谢谢,PM_DIALOG.

Anushiya.
离线
最后一次露面:4个月1周前
加入:2017-12-20 02:30
>关于WDOG,你

>关于WDOG,你不应该发表评论,因为它是SDK定义,你将无法建立你的项目。如果您不想使用它,您应该删除它。但是,如果WDOG被禁用,并且您的固件卡在某个地方,那么WDOG将永远不会击中。因此,我的建议是保持WDOG为您的调试启用。

正如我在原始信息中提到的那样,这是暂时完成的,以查看正在发生的事情。

>此外,请记住,XTAL16M自适应沉降算法仅使用XTAL23K工作而不是RCX,作为LP时钟,因此您应该拒绝CFG_XTAL16M_ADTIVE_SETTLING宏检查DA1458x_config_Advanced.h文件。

在不可连接的配置中,它将如何影响系统?电力消耗是否会受到影响?“XTAL16M自适应算法”的益智是什么?

Anushiya.
离线
最后一次露面:4个月1周前
加入:2017-12-20 02:30
你好,

你好,

当我在上面做了建议的方法时,我面临与上述解决方案相关的新问题。

(我正在使用6.0.10.511 SDK的DA14586。将代码BLE_APP_SLEEPMODE修改为NON_CONECTABLE调制建议https://support.dialog-seminile.com/forums/post/dialog-smartbond-bluetooth-low-energy-%2%80%93-hardware-device-reference-designs/mnfdata-update#Comment24042.

不可能外部中断。在广告中睡觉,需要自动醒来)

系统传输大约20分钟,然后在Rwble.c中进入以下行中的警告。

#if (USE_XTAL16M_ADAPTIVE_SETTLING)
如果(( && ()) && ()) { }

#别的
if(DEVELOPMENT_DEBUG)
//如果此断言命中,则LP ISR持续时间长于时间
//已通过LP_ISR_TIME_XTAL32_CYCLES和LP_ISR_TIME_USEC保留。
if(sleep_lp_cycles &&(sleep_lp_cycles assert_warning(0);//(它进入此处)
#万一

因此,我将LP_ISR_TIME_TITE_XTAL32_CYCLE的定义更改为(127)(从110)和LP_ISR_TIME_USEC到(3876)(从3357)。

它挂在线

//等到BLE Core De-Suists LP IRQ

而(getword16(gp_control_reg)&ble_wakeup_lp_irq);

How can I overcome this situation.

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

仍然不确定如何克服这个问题。

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

嗨Anushiya,

您是否可以说明您是否有以下配置?

  • #undefcfg_xtal16m_adaptive_settling.
  • #define cfg_lp_clk lp_clk_rcx20(因为您的董事会中没有Xtal32k)

Can you please clarify the “No external interrupts possible”? You mean that you stop advertising – put your device in permanent sleep mode and you are unable to wake it up through the wake-up controller?

谢谢,PM_DIALOG.

Anushiya.
离线
最后一次露面:4个月1周前
加入:2017-12-20 02:30
我修复了这个问题:

我修复了这个问题:

原因是我在USIPH_INIT函数中有我的自定义板加速度计初始化代码_periph_setup.c文件中,由于初始化时间比允许的时间长,它引起了问题。

我不得不在那里留下SPI总线初始化,然后在user_sleepmode.co中移动到user_app_init,然后系统工作正常。

要回答你的问题,是的,我都拥有它们。

>请您可以说明您是否有以下配置?

>#undefcfg_xtal16m_adaptive_settling.

> #define CFG_LP_CLK LP_CLK_RCX20 (since you don’t have a XTAL32K in your board)