當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]看門狗,這個東西在哪都能看見,關(guān)于其中簡單介紹在我的另一篇博文中有的,那是關(guān)于arm11的,不過大體一樣http://blog.csdn.net/king_bingge/article/details/8510713一、首先就是獨立看門狗直接上操作流程吧1、三個

看門狗,這個東西在哪都能看見,關(guān)于其中簡單介紹在我的另一篇博文中有的,那是關(guān)于arm11的,不過大體一樣http://blog.csdn.net/king_bingge/article/details/8510713

一、首先就是獨立看門狗

直接上操作流程吧

1、三個比較重要的寄存器:鍵值寄存器(IWDG_KR)、預(yù)分頻寄存器(IWDG_PR)、重載寄存器(IWDG_RLR)

向IWDG_KR 寫入0X5555:能夠去除寫保護,方便我們給分頻寄存器和重載寄存器進行寫操作嘛!不就是類似于DS1302的寫保護么。。

2、有一個知識點就是關(guān)于看門狗使用的時鐘,這里使用的是內(nèi)部低速時鐘40k左右的樣子,那么我們就能算出,定時的最大時間了。Tout=40Khz/((4*2^prer )*rlr)

向IWDG_KR 寫入0XAAAA:這一步能夠?qū)⑽覀儗懭氲倪@個值重裝載到IWDG_RLR這個寄存器中,類似于我們51的定時器!

3、接著就是像IWDG_KR 寫入0XCCCC來啟動看門狗,同時也就關(guān)閉了寫保護,防止意外寫入。

注意了:每次我們給IWDG_KR 寫入0XAAAA的時候,他會自動重新進行喂狗!

二、分析代碼

1、 IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //使能對寄存器IWDG_PR和IWDG_RLR的寫操作,也就是帶開寫保護了!

不信跟蹤進去看一看吧,僅僅嘗試這一次,因為之前學(xué)arm11裸機的時候,全是操作寄存器的,現(xiàn)在煩了,這也是我第一次分析寄存器吧,反正我還是覺得庫函數(shù)用著方便

GO GO GO !


voidIWDG_WriteAccessCmd(uint16_tIWDG_WriteAccess)

{

/*Checktheparameters*/

assert_param(IS_IWDG_WRITE_ACCESS(IWDG_WriteAccess));

IWDG->KR=IWDG_WriteAccess;

}


上面是函數(shù)定義;


#defineIWDG((IWDG_TypeDef*)IWDG_BASE)


上面是原型


#defineIWDG_BASE(APB1PERIPH_BASE+0x3000)


這是跟蹤到的地址,繼續(xù)!




#defineAPB1PERIPH_BASEPERIPH_BASE


#definePERIPH_BASE((uint32_t)0x40000000)/*!


好的,反推回去!



IWDG_BASE=0x40000000+0x3000


最后找到這個結(jié)構(gòu)體咯


typedefstruct

{

__IOuint32_tKR;

__IOuint32_tPR;

__IOuint32_tRLR;

__IOuint32_tSR;

}IWDG_TypeDef;


再看芯片手冊


0x40003000-0x400033FF獨立看門狗(IWDG)

繼續(xù)跟蹤參數(shù)。。

#define IWDG_WriteAccess_Enable ((uint16_t)0x5555)


發(fā)現(xiàn)了??所以嘛 IWDG->KR = IWDG_WriteAccess;

就是相當于給
寄存器(IWDG_KR )0x40003000 地址寫 0x5555。
OK分析完畢,ST32的庫函數(shù)都是這樣組織的,我很喜歡這種形式,開發(fā)速度相當快呀!即使有些地方的口碑不太好,但是我們在那部分就可以操作寄存器了,一舉兩得的事情
2、直接給出初始化代碼,有興趣的自己可以分析,我是沒什么興趣了


voidIWDG_Init(u8prer,u16rlr)

{

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//使能對寄存器IWDG_PR和IWDG_RLR的寫操作

IWDG_SetPrescaler(prer);//設(shè)置IWDG預(yù)分頻值:設(shè)置IWDG預(yù)分頻值為64

IWDG_SetReload(rlr);//設(shè)置IWDG重裝載值

IWDG_ReloadCounter();//按照IWDG重裝載寄存器的值重裝載IWDG計數(shù)器

IWDG_Enable();//使能IWDG

}


//喂獨立看門狗



voidIWDG_Feed(void)

{

IWDG_ReloadCounter();

}


下面看代碼吧!

1、直接給初始化函數(shù)


voidWWDG_Init(u8tr,u8wr,u32fprer)

{

RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);//WWDG時鐘使能

WWDG_SetPrescaler(fprer);//設(shè)置IWDG預(yù)分頻值

WWDG_SetWindowValue(wr);//設(shè)置窗口值

WWDG_Enable(tr);//使能看門狗,設(shè)置counter.

WWDG_ClearFlag();

WWDG_NVIC_Init();//初始化窗口看門狗NVIC

WWDG_EnableIT();//開啟窗口看門狗中斷

}

2、同樣也有喂狗函數(shù)


//喂狗


voidWWDG_Set_Counter(u8cnt)

{

WWDG_Enable(cnt);

}

3、上面提到了當技術(shù)到0x40的時候就會長生中斷,那么中斷怎么實現(xiàn)?


//窗口看門狗中斷服務(wù)程序


voidWWDG_NVIC_Init()

{

NVIC_InitTypeDefNVIC_InitStructure;

NVIC_InitStructure.NVIC_IRQChannel=WWDG_IRQn;//WWDG中斷

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//搶占2,子優(yōu)先級3,組2

NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;//搶占2,子優(yōu)先級3,組2

NVIC_Init(&NVIC_InitStructure);//NVIC初始化

}

voidWWDG_IRQHandler(void)

{

//UpdateWWDGcounter

WWDG_SetCounter(0x7F);//當禁掉此句后,窗口看門狗將產(chǎn)生復(fù)位

//ClearEWIflag*/

WWDG_ClearFlag();//清除提前喚醒中斷標志位

}

就是這樣配置了!這樣就能實現(xiàn)我們的兩只狗看著程序這個大門了!!!



本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉