STM8S AWU與WWD配合
在產(chǎn)品做低功耗的時(shí)候,我們會(huì)采用一些方法做一些低功耗處理.但是做了低功耗之后,又擔(dān)心程序異常跑飛,而無(wú)法自動(dòng)復(fù)位。
如果我們開(kāi)啟了IWDG獨(dú)立看門(mén)狗,做低功耗的話(huà),那么很難做得很好。因?yàn)?你需要想辦法不停地給這只狗喂東西。導(dǎo)致低功耗效果不會(huì)很理想。而如果采用AWU與WWDG窗口看門(mén)狗來(lái)做的話(huà),效果還是不錯(cuò)的。因?yàn)閃WDG看門(mén)狗可以在AWU停止時(shí),也可以設(shè)置不產(chǎn)生復(fù)位信號(hào)。
設(shè)置方法如下圖所示,
設(shè)置了這個(gè)選項(xiàng)后,WWDG在休眠狀態(tài)下就不會(huì)進(jìn)行計(jì)數(shù)復(fù)位了。
AWU及WWG的使用步驟大概如下:
1、初始化低速時(shí)鐘LSI供給AWU及WWDG
2、初始化AWU相關(guān)的寄存器
3、在AWU中斷清除相關(guān)標(biāo)志(如若沒(méi)有,會(huì)出現(xiàn)芯片周期性復(fù)位)
代碼如下:
INTERRUPT_HANDLER(AWU_IRQHandler,1)
{
/*Inordertodetectunexpectedeventsduringdevelopment,
itisrecommendedtosetabreakpointonthefollowinginstruction.
*/
AWU->CSR&AWU_CSR_AWUF;
}
4、初始化看門(mén)狗
5、在合適的主循環(huán)位置添加喂狗操作.