99国产精一区二区_嫩草研究院最新地址入口_夜夜草视频免费观看_国产永久精品大片www_精品久久久久久久中文字幕_国产高清视频一区_天天综合7799精品视频天天_殴美一级aa大片_无人区乱码一线二线久久久久_九九综合九色综合网站

技卓芯通信 15年專業(yè)提供

物聯(lián)網(wǎng)全套無線解決方案

服務(wù)熱線:0755-86541600

聯(lián)系我們

咨詢熱線0755-86541600

銷售熱線:
0755-86541600、86714296、86038781
技術(shù)支持:
13798468092
傳真:
0755-22676585

行業(yè)新聞

當(dāng)前位置: 首頁 >> 新聞資訊 >> 行業(yè)新聞

GPRS DTU看門狗程序介紹

文章來源:本站人氣:2204發(fā)表時(shí)間:2016-12-02

當(dāng)受到各種各樣的干擾而使GPRS DTU不能執(zhí)行正常的程序時(shí),需要了解看門狗定時(shí)器(WDT),它具有兩種功能,其一作為普通的定時(shí)器,該模式下產(chǎn)生正常的定時(shí)中斷信號;其二作為通常意義上的看門狗,用來復(fù)位單片機(jī),避免單片機(jī)長時(shí)間處于不正常工作狀態(tài)??撮T狗程序只是用來把單片機(jī)從不正常的工作狀態(tài)中拉回來,也就是說正常情況下,它是靜默的,程序運(yùn)行過程中必須在適當(dāng)?shù)臅r(shí)間間隔內(nèi)喂狗。如果用戶程序執(zhí)行時(shí)間很長到不能滿足喂狗時(shí)間,這時(shí)候應(yīng)當(dāng)將用戶程序盡可能模塊化、時(shí)間片化以滿足喂狗時(shí)間。鑒于看門狗的工作職責(zé),看門狗寄存器值的讀寫通常采用密碼字+數(shù)據(jù)的方式,以防止單片機(jī)正常執(zhí)行過程中對看門狗的誤寫??撮T狗初始化和喂狗操作程序如下所示:

#include 

#include  "wdt.h"

/*******************************************

函數(shù)名稱:看門狗初始化程序

功    能:看門狗設(shè)定32ms,看門狗時(shí)鐘選擇SMCLK

參    數(shù):無

返回值  :無

********************************************/

void wdt_init(void)

{

WDTCTL = WDT_MRST_32;             // 設(shè)定看門狗定時(shí)器32ms復(fù)位

}

/*******************************************

函數(shù)名稱:喂狗程序

功    能:清零看門狗定時(shí)器計(jì)數(shù)值

參    數(shù):無

返回值  :無

********************************************/

void wdt_clear(void)

WDTCTL = WDTPW + WDTCNTCL;            // 清零看門狗定時(shí)器

}

該程序設(shè)定看門狗時(shí)鐘采用SMCLK,設(shè)定最大喂狗時(shí)間為32ms,當(dāng)用戶程序在規(guī)定的32ms內(nèi)沒有清零看門狗定時(shí)器的計(jì)數(shù)值,看門狗定時(shí)器溢出,產(chǎn)生復(fù)位信號,最終復(fù)位單片機(jī)。注意到看門狗計(jì)數(shù)值清零與初始化為同一個(gè)寄存器,采用賦值的方式清零看門狗定時(shí)器計(jì)數(shù)值,同時(shí)會改變看門狗定時(shí)器的工作模式。本程序之所以可以按用戶的設(shè)定運(yùn)行,是因?yàn)榭撮T狗定時(shí)器采用SMCLK時(shí)鐘,喂狗操作正好不改變寄存器相應(yīng)工作模式位的設(shè)定值。但是如果選擇ACLK作為時(shí)鐘,采用該喂狗操作就會影響看門狗的工作模式了。假如設(shè)定看門狗定時(shí)器1000ms復(fù)位,WDTCTL = WDT_ARST_1000;喂狗之后就變成32ms自動復(fù)位了。用戶程序如果沒有在32ms內(nèi)喂狗,程序就一直停在復(fù)位了。

注意到設(shè)定模式時(shí)同時(shí)具有清零的功能,正常的喂狗程序即為初始化設(shè)置程序WDTCTL = WDT_ARST_1000。

#include 

#include  "wdt.h"

/*******************************************

函數(shù)名稱:看門狗初始化程序

功    能:看門狗設(shè)定1000ms,看門狗時(shí)鐘選擇ACLK

參    數(shù):無

返回值  :無

********************************************/

void wdt_init(void)

{

WDTCTL = WDT_ARST_1000;             // 設(shè)定看門狗定時(shí)器1000ms復(fù)位

}

/*******************************************

函數(shù)名稱:喂狗程序

功    能:清零看門狗定時(shí)器計(jì)數(shù)值

參    數(shù):無

返回值  :無

********************************************/

void wdt_clear(void)

WDTCTL = WDT_ARST_1000;           // 清零看門狗定時(shí)器

}

看門狗程序用來把單片機(jī)從不正常的工作狀態(tài)中拉回來,也就是說不正常情況下,它是運(yùn)作的,程序不正常運(yùn)行過程中不應(yīng)該滿足喂狗條件,從而產(chǎn)生需要的復(fù)位信號,復(fù)位單片機(jī)。這樣來看,喂狗程序不能放在中斷中,因?yàn)橹鞒绦蚩赡芘茱w了,中斷程序仍能正常工作,這樣看門狗程序失去作用。

?
版權(quán)所有:深圳市技卓芯通信技術(shù)有限公司   粵ICP備14085362號
地址:深圳市南山區(qū)桃源街道平山一路世外桃源創(chuàng)意園B棟三層