单片机的冷/热启动
单片机的复位常称为冷启动或是热启动,根据启动要因的不同区分。
冷启动:掉电后的启动
热启动:单片机复位等
如何去判断?
单片机掉电以后,在重新启动后,RAM中的数据应该都会被初始化为特定状态。如何判断当前的启动时冷/热启动,从而对系统进行初始化设置。
冷启动一般会初始化所有的RAM值。
热启动会初始化相应的值,由于是不掉电的启动,所以不初始化的值就保存了复位之前的值。
区分两种启动:
1. 软件方式
在RAM区设置一个启动标志,在初始化复位的时候,不初始化该flag,根据热启动会保留数据这个特性以及冷启动会将RAM中的数据初始化为0x00或0xFF或其他的特性。
当启动的时候,读取该flag,若不为设置的值,表明为冷启动,反之为热启动。
2. 硬件和软件方式
利用启动中各端口的配置进行区别判断。一般冷启动为掉电后的启动,一般会有电容等的延时效应,可以区分。