68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> AVR看門(mén)狗心得

AVR看門(mén)狗心得

關(guān)鍵字:AVR 看門(mén)狗 作者: 來(lái)源: 發(fā)布時(shí)間:2019-07-31  瀏覽:10

AVR單片機(jī)系列(例如,ATMEGA168等)使用增強(qiáng)功能的看門(mén)狗(Enhanced Watchdog Timer),與原來(lái)的看門(mén)狗相比較,除了有相同復(fù)位的功能以外,還增加了中斷的功能設(shè)計(jì)時(shí)。使用看門(mén)狗的中斷功能,可以實(shí)現(xiàn)從Power Down狀態(tài)喚醒CPU;另外同時(shí)能使中斷和復(fù)位功能,可以在系統(tǒng)發(fā)生錯(cuò)誤時(shí),先進(jìn)入中斷狀態(tài),保存關(guān)鍵數(shù)據(jù)到EEPROM,然后在進(jìn)行系統(tǒng)復(fù)位。

AVR新的看門(mén)狗與舊狗(例如,ATMEGA16等)比較,增加了新的功能的同時(shí)脾氣也有了不少改變。設(shè)計(jì)時(shí)要摸清它的脾氣,以防被狗咬。

下面說(shuō)明以ATMEGA16和ATMEGA168作一個(gè)簡(jiǎn)單比較為例,簡(jiǎn)要地說(shuō)明一下注意要點(diǎn):

看門(mén)狗定時(shí)器控制寄存器– WDTCR:

1.jpg 

1.A1tmega168由于具有中斷功能,所以WDTCR增加了WDIF和WDIE兩個(gè)額外的bit的功能;

2.增加了WDP3,溢出周期可以有長(zhǎng)達(dá)8秒;

3.新的看門(mén)狗在初始化時(shí),WDT的值不再一定是0。只要MCUSR寄存器上的WDRF置位,WDT也將被強(qiáng)制置位。這時(shí),如果WDE要清零,必須要WDRF先清零。

4.在設(shè)計(jì)時(shí)即使不用WDT,它也可能在無(wú)意中被能使,例如在runaway指針和調(diào)電情況下。因此即使不用WDT,在初始代碼中一定要檢查復(fù)位標(biāo)志,如果WDT系統(tǒng)復(fù)位發(fā)生要采取處理步驟。

最近重新設(shè)計(jì)一個(gè)項(xiàng)目,由原先使用的ATMEGA16更新到ATMEGA168。把原代碼轉(zhuǎn)換后,測(cè)試結(jié)果異常。經(jīng)過(guò)一天多的測(cè)試,才發(fā)現(xiàn)是新的看門(mén)狗惹的禍。以前用ATMEGA16,在初始化后才開(kāi)始喂狗,可是新的AVR系列(例如ATMEGA168等),系統(tǒng)復(fù)位發(fā)生時(shí)(除上電復(fù)位外) ,WDT可能繼續(xù)運(yùn)行,并使用最小溢出周期(大約15mS) ,造成了系統(tǒng)不斷復(fù)位。根據(jù)datasheet,在程序開(kāi)始時(shí)的關(guān)狗后一切就恢復(fù)正常了:

#include

#include

uint8_t mcusr_mirror;

void get_mcusr(void)

__attribute__((naked))

__attribute__((section(".init3")));

void get_mcusr(void)

{

mcusr_mirror = MCUSR;

MCUSR = 0;

wdt_disable();

}

5.使用看門(mén)狗的中斷時(shí),當(dāng)WDIF和WDIE置位,就會(huì)產(chǎn)生中斷。進(jìn)入相應(yīng)的中斷程序后,系統(tǒng)自動(dòng)WDIF和WDIE清零。下次要使用看門(mén)狗的中斷時(shí)必須重新WDIE置位。

【更多資源】

編輯:admin  最后修改時(shí)間:2019-07-31

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

四平市| 广饶县| 健康| 汶上县| 陆丰市| 盐边县| 克拉玛依市| 广德县| 新昌县| 孟村| 武山县| 会东县| 杨浦区| 赣榆县| 阜康市| 丹巴县| 吴堡县| 安达市| 元阳县| 黑河市| 子洲县| 河源市| 天全县| 新闻| 武义县| 徐汇区| 新野县| 通渭县| 台北县| 南涧| 图们市| 嘉荫县| 芮城县| 丹东市| 凌海市| 申扎县| 会理县| 洞头县| 大宁县| 惠东县| 芮城县|