单片机上电初始化的时候,为什么需要先关闭总中断,初始化完各中断(定时器、外部中断、串口等)后,再开启总中断
如果没有初始化各个中断又没有关闭中断 那么刚上电万一引起中断单片机有可能会执行不下去 引起时序混乱
并不是一定 只是先关了比较保险 保证了稳定性
关于单片机上电各个寄存器的值 手册中有 可能一定 可能不一定
编程一定要保证程序的稳定性 尽量避免不确定因素
一般的程序不需要“先关闭总中断,初始化完各中断(定时器、外部中断、串口等)后,再开启总中断”,而非一般的呢,好比升级文件,由于是在线升级的,升级完后需要跳转,由于跳转后堆栈会发生变化,然而不先关闭总中断的话,调整前的程序中所触发的中断会造成调整后的程序错误,所以在升级程序中,升级文件必须先关闭总中断,反正跳转前所初始化的中断不会影响到跳转程序。给个分吧兄弟。
你可以简单理解,你在改你家水管线路的时候需要先把总阀门关了再改其他的部分。。。。
我决定这问题也没什么需要纠结的啊,修改其他的中断的时候你没法保重比如计时器到底是哪个代码执行后开始运行,那还不如弄个准确的开关,先把其他的调试好然后再打开比较稳定。
单片机一般用在控制场合,如果上来程序初始化的开始就把中断打开了,万一来中断了怎么办?
先关闭是为了保险起见。避免在系统其他模块没有正常起来前,由于异常导致中断的发生。
初始化的时候不应该有中断