本帖最后由 chzfmx 于 2020-3-10 11:46 编辑
项目中用到看门狗,在测试的时候碰到问题:
首先配置为超时产生中断,在中断中清中断标志,周期进入中断,测试正常;
然后修改配置为超时产生复位,不成功,代码如下,没有进行喂狗操作,不知道啥问题:
- int32_t main(void)
- {
- uart0_init(9600);
- uart_send_string("mcu_start!\r\n");
- /* 屏蔽部分是wdt例程中的代码,超时也不能产生复位
- stc_wdt_config_t stcWdt_Config;
- stc_lpm_config_t stcLpmCfg;
- DDL_ZERO_STRUCT(stcWdt_Config);
- DDL_ZERO_STRUCT(stcLpmCfg);
- stcLpmCfg.enSLEEPDEEP = SlpDpDisable;//SlpDpEnable;
- stcLpmCfg.enSLEEPONEXIT = SlpExtEnable;
- stcWdt_Config.u8LoadValue = 0x0b;//3.2s
- stcWdt_Config.enResetEnable = WRESET_EN; //WINT_EN;//
- stcWdt_Config.pfnWdtIrqCb = WdtCallback;
- Clk_SetPeripheralGate(ClkPeripheralWdt,TRUE);//
- Wdt_Init(&stcWdt_Config);
- Wdt_Start();
- */
- //Clk_SetPeripheralGate(ClkPeripheralWdt,TRUE);//
- M0P_CLOCK->PERI_CLKEN |= 1<<15;
|