MCU上电时会有四种基本状态,分别是:复位状态、低功耗模式、编程模式和正常模式。
复位状态:MCU上电初始化后,会进入复位状态,此时MCU内部各个模块都全部被复位。
低功耗模式:低功耗模式是用于节能的一种状态,此状态下CPU是不工作的,只有外部事件才能将CPU唤醒。
编程模式:编程模式用于MCU编程,此状态下只有编程器可以与MCU通信,MCU内部具体状态与芯片型号相关。
正常模式:MCU开机后,会进入正常模式,此时MCU可以对外提供完整的功能和服务。
MCU上电后,如果不对内部模块进行初始化,那么它们的默认状态会是怎样的呢?
GPIO:默认是输入状态。
定时器:默认停止计数。
串口:默认是关闭状态。
ADC:默认关闭。
看门狗:默认关闭。
各个模块的默认状态不同,需要根据实际需要进行初始化,否则会影响程序的正常运行。
MCU上电时,会有一段代码被立即执行,通常称为启动代码。
启动代码主要作用是对一些初值进行设定和初始化,例如设置CPU时钟源、初始化堆栈指针、初始化中断向量表等。
启动代码的相关内容在开发环境中一般是由编译器自动生成并存放在固定地址中。
MCU上电后需要一定的时间才能进入正常工作状态,这个过程称为上电稳定时间。
上电稳定时间的长短取决于MCU的内部电路,以及外部电路如电源、晶振等的稳定度,一般情况下需要在数百微秒到数毫秒之间。
在上电稳定时间内,MCU处于不稳定状态,此时对MCU进行读写操作可能会对整个系统带来影响。