STM32F103C8T6在软件复位后会出现有时起不来现象,需硬件复位才能正常启动。软复位动作:
__SetFaultMask();
NVIC_GenerateSystemReset();
__DSB();
while(1);
void __SetFaultMask(void)
{
__ASM("MOV R0, #1");
__ASM("MSR FAULTMASK, R0");
}
void NVIC_GenerateSystemReset(void)
{
SCB->AIRCR = AIRCR_VECTKEY_MASK | (u32)0x04;
}
请哪位大侠知晓,这个现象不是很容易出现的。 |