我公司使用的是
STM32G0071CB芯片。但我遇到了一些问题。
每当我需要重启主板时,我也必须重置 STM32G0071CB。
所以我使用 WWDG 来重置芯片。
但有时,芯片没有复位,CPU 挂起。(一次 400 次或随机发生)
我使用下面的代码进行初始化和重置。
我没有发现我的代码有任何问题。
你能给我任何指导吗?
感谢您对先进的支持。
=代码=
- void Init_WWDG(void)
- {
- /* Enable the peripheral clock WWDG */
- LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_WWDG);
- LL_WWDG_SetPrescaler(WWDG,LL_WWDG_PRESCALER_8); /* (1) */
- LL_WWDG_SetWindow(WWDG,0x7E); /* (2) */
- LL_WWDG_SetCounter(WWDG, 0x7E); /* (3) */
- }
- void Reset(void)
- {
- SCB->VTOR = 0x0; // Reset the Vector Table back to the bootloader
- FLASH->CR |= FLASH_CR_LOCK_Msk;
- LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_WWDG);
- LL_WWDG_SetPrescaler(WWDG, LL_WWDG_PRESCALER_8);
- LL_WWDG_SetCounter(WWDG, 1);
- LL_WWDG_Enable(WWDG);
- }