如下图:黑色下划线是单片机STM32软件复位语句,
再往下语句就不再编译了。
如图中FLASH_Unlock()函数就不运行了。
难道编译器看出来这是复位语句了,所以剩余的语句就没必要编译了。
太聪明了吧,有些害怕。
附NVIC_SystemReset()函数原型!
static __INLINE void NVIC_SystemReset(void)
{
SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) |
(SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
SCB_AIRCR_SYSRESETREQ_Msk); /* Keep priority group unchanged */
__DSB(); /* Ensure completion of memory access */
while(1); /* wait until reset */
} |