CC2541硬件复位功能HAL_SYSTEM_RESET,该功能只在两种时钟模式下才能正常复位?
时间:10-02
整理:3721RD
点击:
我专门测试了CC2541硬件复位功能HAL_SYSTEM_RESET,该功能只在两种时钟模式下才能正常复位,代码如下:
/* disable interrupts, set watchdog timer, wait for reset */
#define HAL_SYSTEM_RESET() st( HAL_DISABLE_INTERRUPTS(); WDCTL = WD_RESET1; WDCTL = WD_RESET2; for(;;); )
只有当WD_RESET1和WD_RESET2为0x03和0x02时,系统才能可靠复位,即看门狗定时器工作在1.9 ms和15.625 ms时才可以复位,其它模式如0.25 s和1s都不能复位。
//10: Clock period × 512 (approximately 15.625 ms)
//11: Clock period × 64 (approximately 1.9 ms)
关注一下,啥时候启动这个复位?用外部看门狗可靠。
希望回贴能解决问题,拒绝广告。
试一下其他比较小的值呢?怀疑是时间太长【0.25 s和1s】导致看门狗计时溢出
1.9 ms和15.625 ms是可以复位的,但也要用看门狗呀,这两个值对于看门狗来说没有实际意义。其实主要是看门狗没有激活。
现在两个问题,一个是看门狗,一个是系统复位,这两个功能要同时用,一直没有解决。
看门狗计时溢出这点有没有排查?