一、看門狗介紹
看門狗在正常設(shè)計(jì)的產(chǎn)品里都會(huì)用到,主要是解決程序跑飛、異常死機(jī)等,程序內(nèi)部引起的問(wèn)題情況下可以自動(dòng)復(fù)位重啟的功能。
看門狗本身就是個(gè)定時(shí)器,和普通的定時(shí)器差不多。 就是設(shè)置一個(gè)固定的超時(shí)時(shí)間,正常情況下,程序比如在看門狗的超時(shí)時(shí)間到達(dá)之前重置時(shí)間(這個(gè)就叫做喂狗);在程序正常運(yùn)轉(zhuǎn)的情況下,因?yàn)槊看味紩?huì)去喂狗,就不會(huì)有超時(shí)的現(xiàn)象。如果因?yàn)槌绦蜻壿嫵霈F(xiàn)問(wèn)題,程序在指定的時(shí)間內(nèi)沒(méi)辦法去喂狗,就導(dǎo)致看門狗定時(shí)器超時(shí),超時(shí)就會(huì)產(chǎn)生軟件復(fù)位,程序重啟,這樣就可以避免產(chǎn)品宕機(jī)。 這種重啟操作一般都可以解決這種偶然產(chǎn)生的一些程序BUG。 就像我們常用的電腦,卡死,或者出現(xiàn)一些奇怪問(wèn)題,重啟差不多都能解決。
下面就介紹CC2530的看門狗程序配置,具體的配置直接截圖出來(lái)了。 在手冊(cè)里起始介紹的起始已經(jīng)很詳細(xì)了,只要明白看門狗這個(gè)功能的作用、含義,就可以直接看第3章的代碼去實(shí)操,分析代碼的配置對(duì)著手冊(cè)看一遍就差不多了。
二、看門狗配置



三、示例代碼
#include
#define uint unsigned int
#define RLED P1_0
#define GLED P1_1
void CC2530_InitLEDIO(void)
{
P1DIR |= 0x03; //P10、P11定義為輸出
RLED = 1;
GLED = 1;
//LED燈初始化為關(guān)
}
void CC2530_Init_Watchdog(void)
{
WDCTL = 0x00;
//時(shí)間間隔一秒,看門狗模式
WDCTL |= 0x08;
//啟動(dòng)看門狗
}
void CC2530_SET_MAIN_CLOCK(source)
{
if(source)
{
CLKCONCMD |= 0x40; /*RC*/
while(!(CLKCONSTA &0X40)); /*待穩(wěn)*/
}
else
{
CLKCONCMD &= ~0x47; /*晶振*/
while((CLKCONSTA &0X40)); /*待穩(wěn)*/
}
}
void CC2530_FeetDog(void)
{
WDCTL = 0xa0;
WDCTL = 0x50;
}
void CC2530_Delay(uint n)
{
uint i;
for(i=0;i
審核編輯:湯梓紅
;i++);>
-
看門狗
+關(guān)注
關(guān)注
10文章
576瀏覽量
71460 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3272瀏覽量
116707 -
CC2530
+關(guān)注
關(guān)注
19文章
221瀏覽量
58614
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
在CC2530中打開(kāi)看門狗后,設(shè)備一直重啟,請(qǐng)問(wèn)如何解決?
請(qǐng)問(wèn)CC2530進(jìn)入睡眠狀態(tài)時(shí)看門狗能起作用嗎?
CC2530的時(shí)鐘配置概述
如何實(shí)現(xiàn)CC2530喂狗的過(guò)程?
【技術(shù)精選】嵌入式STM32原創(chuàng)征文活動(dòng)精選文章
基于CC2530芯片_zigbee基礎(chǔ)實(shí)驗(yàn)
基于CC2530的ZigBee協(xié)調(diào)器節(jié)點(diǎn)設(shè)計(jì)

如何使用ZigBee TI ZStack CC2530 2.5搭建開(kāi)發(fā)環(huán)境

微雪電子ZIGBEE開(kāi)發(fā)板 CC2530 Eval Kit5簡(jiǎn)介

基于CC2530的ZigBee通信網(wǎng)的應(yīng)用設(shè)計(jì).pdf
CC2530(zigbee)入門開(kāi)發(fā): 安裝IAR開(kāi)發(fā)環(huán)境

Zigbee(CC2530)傳感器板

基于CC2530的ZigBee通信網(wǎng)絡(luò)的應(yīng)用設(shè)計(jì)

評(píng)論