开关机实现方式介绍
硬开关机
硬开关机意思是芯片一供电就开机,断电就是关机。常见的有DC直流电源直插开机,拔掉关机;拨动开关等。
这种开关机方式就较为简单了,不需要做太多处理,主要在代码中把以下函数注销即可:

把这个函数注销以后,则芯片上电就直接开机了,不做电压的其他判断。
软开关机
软开关机就是说芯片一直供电,关机状态下实际上是进入了休眠模式,开机就是把芯片从休眠模式中唤醒,注意只有PR口可以唤醒芯片,所以如果使用的芯片型号没有PR口,就做不了这种软关机方式,需要用双向二极管加MOS管的方式来实现按键开关机。常用的软开关机引脚是PR2口。

把这个函数取消注销,然后定位到函数实体中看(check_power_on_voltage):

这个函数较长,我们只看关键部分。
POWER_KEY_INIT();是初始化开机引脚,下面的判断是开机计数 ,如果按键按下了,时间持续到设定的时长,就开机,按到一般松开了或者没计数到设定市场都不开机。
右键选择POWER_KEY_INIT();,定义到开机按键的宏定义处可以修改开机引脚:

那么关机改怎么做呢?关机部分请看后面的按键介绍相关部分。
本文详细介绍了硬开关机和软开关机两种实现方式。硬开关机通过直接供电控制芯片状态,而软开关机则使芯片在关机时进入休眠模式,通过特定引脚如PR2口唤醒。软关机需利用按键控制并计时达到设定时长才能启动。
5434





