开关机实现方式介绍
硬开关机
硬开关机意思是芯片一供电就开机,断电就是关机。常见的有DC直流电源直插开机,拔掉关机;拨动开关等。
这种开关机方式就较为简单了,不需要做太多处理,主要在代码中把以下函数注销即可:
把这个函数注销以后,则芯片上电就直接开机了,不做电压的其他判断。
软开关机
软开关机就是说芯片一直供电,关机状态下实际上是进入了休眠模式,开机就是把芯片从休眠模式中唤醒,注意只有PR口可以唤醒芯片,所以如果使用的芯片型号没有PR口,就做不了这种软关机方式,需要用双向二极管加MOS管的方式来实现按键开关机。常用的软开关机引脚是PR2口。
把这个函数取消注销,然后定位到函数实体中看(check_power_on_voltage):
这个函数较长,我们只看关键部分。
POWER_KEY_INIT();是初始化开机引脚,下面的判断是开机计数 ,如果按键按下了,时间持续到设定的时长,就开机,按到一般松开了或者没计数到设定市场都不开机。
右键选择POWER_KEY_INIT();,定义到开机按键的宏定义处可以修改开机引脚:
那么关机改怎么做呢?关机部分请看后面的按键介绍相关部分。