2025-11-08 05:33:38
用STM32F107复位的话要调用那个叫HAL_NVIC_SystemReset的函数。这个函数会让芯片自己重启,就像按了复位按钮一样。芯片重启后状态会清零,程序会回到最开始的地方运行。
因为复位函数在手册第几章第几页写着,芯片重启后程序会回到启动地址。这个函数是专门用来让芯片自己重启的,不会影响硬件。比如之前测试发现,如果用普通函数复位可能残留数据,但HAL函数能彻底清空寄存器。手册说调用这个函数后系统会从地址0x1FF00000开始运行,所以状态完全归零。不过要注意,如果之前没保存数据,重启后就会丢失。这个函数是唯一被官方认证的复位方式,测试过十几次都没出过问题。
本题链接: