杰理AC692X---开关机实现方式介绍
開關機實現方式介紹
硬開關機
硬開關機意思是芯片一供電就開機,斷電就是關機。常見的有DC直流電源直插開機,拔掉關機;撥動開關等。
這種開關機方式就較為簡單了,不需要做太多處理,主要在代碼中把以下函數注銷即可:
把這個函數注銷以后,則芯片上電就直接開機了,不做電壓的其他判斷。
?
軟開關機
軟開關機就是說芯片一直供電,關機狀態下實際上是進入了休眠模式,開機就是把芯片從休眠模式中喚醒,注意只有PR口可以喚醒芯片,所以如果使用的芯片型號沒有PR口,就做不了這種軟關機方式,需要用雙向二極管加MOS管的方式來實現按鍵開關機。常用的軟開關機引腳是PR2口。
把這個函數取消注銷,然后定位到函數實體中看(check_power_on_voltage):
這個函數較長,我們只看關鍵部分。
POWER_KEY_INIT();是初始化開機引腳,下面的判斷是開機計數 ,如果按鍵按下了,時間持續到設定的時長,就開機,按到一般松開了或者沒計數到設定市場都不開機。
右鍵選擇POWER_KEY_INIT();,定義到開機按鍵的宏定義處可以修改開機引腳:
?
那么關機改怎么做呢?
打開按鍵宏定義
把以下位置的GPIO按鍵宏定義置1:
這樣我們就選擇了使用GPIO按鍵了。
按鍵引腳修改
這里我們定義了IO_KEY_ONLY_ONE,所以只有一個按鍵,引腳使用的是PR2引腳,如果想用多個按鍵,則注銷IO_KEY_ONLY_ONE這個宏定義,然后參照下面額#else后面的KEY_INIT()去增加自己的按鍵引腳定義。
?
?
?
?
然后打開IO按鍵的C文件:
?
可以看到當KEY0按下時,鍵值返回0,這個0對應到按鍵列表里面的0,如下:
意思是當KEY0按下是,執行MSG_BT_PP這個消息,這個消息就是控制手機的音樂播放暫停的功能。另外按鍵還可以分為長按、按住、長按抬起的功能:
這里做的功能是長按關機,至于關機長按時間的設置在如下位置:
根據項目需求,改成符合項目的值即可。
在692X的SDK中,各個模式(U盤,AUX,FM,藍牙)的按鍵消息是分開的,都需要單獨配置,跟上面以藍牙按鍵為例的配置是一樣的:
總結
以上是生活随笔為你收集整理的杰理AC692X---开关机实现方式介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机CAD技术在工程设计中的应用,研究
- 下一篇: 七段显示器显示整数(C语言) ----存