关于STM32软重启的问题

暑假电赛写过一个程序关于电压值FFT傅里叶变换,但是程序写的有点乱,每次运行时间长一点都会时不时挂掉,还要每次按复位键重启,所以想着在软件里设置一段时间自动软重启,两个函数如下

void Sys_Soft_Reset(void)// 软重启
 { 
     SCB->AIRCR =0X05FA0000|(u32)0x04;     
 } 
 void SoftReset(void)
 {  __set_FAULTMASK(1);  // 关闭所有中端
 NVIC_SystemReset();     // 复位

 }

测试完,结果是可以的程序不会挂掉了,但是问题来了,总感觉这样的软重启有点问题,只适用于我这个程序对计数没什么大要求而且实时性的,还是不可以做大的程序,会下来再继续找一找软重启的区别。总结一下还是做问题要找到解决办法,从源头入手,多扩展知识面。

Smartkeke
原文地址:https://www.cnblogs.com/smartkeke/p/8041930.html