最新SDK(1.0.12.1078)
你好,
所以我有这个演示(原始代码)在Pro-DK上运行得很好,但是当我尝试在自己的PCB上运行它时,在调试模式下几秒钟后,我不断得到看门狗定时器中断(NMI)。
我发现一个关键的区别是,我自己的PCB没有一个32千赫晶体,所以我使用32千赫振荡器的设置
#定义dg\u configUSE\u LP\u CLK LP\u CLK\u RCX
在自定义配置中
然后我在Pro-DK上尝试了这个构建,它也显示了这种行为(看门狗超时)。
这个问题似乎与最初的广告之后进入睡眠模式有关。当振荡器与XTAL相反使用时,看门狗会超时有什么原因吗?
谢谢,
日本
设备:
你好,jpselc,
如果PCB没有XTAL 32 KHz,强烈建议使用以下三个选项之一:
#定义dg\u configUSE\u LP\u CLK LP\u CLK\u RCX
#定义dg\u configUSE\u LP\u CLK LP\u CLK\u 32768
将XTAL32K与其他选项一起使用。您可以为P2_0(XTAL32KP)焊盘提供外部数字时钟。请检查一下房间表2:DA14860的引脚描述用户手册。此外,还应定义:
#定义dg\u configUSE\u LP\u CLK LP\u CLK\32000
获得NMI的可能原因是WDOG已启用但从未使用。默认WDOG计数器值255(最大值)。每个计数器值等于10ms,因此在255个滴答声之后,将经过约2.6秒,并将断言NMI。请确保您没有启用WDOG。另外,您应该在它过期后使用我们的api重新加载它。有关WDOG的更多信息,我建议您阅读9.6看门狗服务剖面图DA1468x软件平台参考(UM-B-044)来自我们的支持门户的文档
谢谢,下午好
谢谢你的回复。很抱歉延迟回复。
正如我所提到的,我正在使用您的选项1#define dgŧu configUSEŧu LPŧCLK LPŧCLKŧRCX
这是您的示例代码:ble\u multi\u link,它在32 KHz晶体存在时正确地为看门狗服务。
为什么看门狗超时时,我使用上述设置的内部32kHz振荡器?
谢谢
这里的问题是一个失败的malloc。
使用此时钟设置时,必须有不同的堆要求。
你好,jpselc,
谢谢你的指示。很高兴你的问题解决了。
谢谢,下午好