国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > avr單片機看門狗初始化配置及說明

avr單片機看門狗初始化配置及說明

作者: 時間:2016-11-18 來源:網絡 收藏
MCU 控制和狀態(tài)寄存器-MCUCSR

MCU 控制和狀態(tài)寄存器提供了有關引起 MCU 復位的復位源的信息。

Bit 7 6 5 4 3 2 1 0

本文引用地址:http://m.ptau.cn/article/201611/315763.htm

JTD ISC2 – JTRF WDRF BORF EXTRF PORF MCUCSR

讀 / 寫 R/W R/W R R/W R/W R/W R/W R/W

初始值 0 0 0 參見各個位的說明

* Bit 4 – JTRF: JTAG 復位標志

通過 JTAG 指令 AVR_RESET 可以使 JTAG 復位寄存器置位,并引發(fā) MCU 復位,并使
JTRF 置位。上電復位將使其清零,也可以通過寫 ”0” 來清除。

* Bit 3 – WDRF: 看門狗復位標志

看門狗復位發(fā)生時置位。上電復位將使其清零,也可以通過寫 ”0” 來清除。

* Bit 2 – BORF: 掉電檢測復位標志

掉電檢測復位發(fā)生時置位。上電復位將使其清零,也可以通過寫 ”0” 來清除。

* Bit 1 – EXTRF: 外部復位標志

外部復位發(fā)生時置位。上電復位將使其清零,也可以通過寫 ”0” 來清除。

* Bit 0 – PORF: 上電復位標志

上電復位發(fā)生時置位。只能通過寫 ”0” 來清除。

為了使用這些復位標志來識別復位條件,用戶應該盡早讀取此寄存器的數(shù)據(jù),然后將其復
位。如果在其他復位發(fā)生之前將此寄存器復位,則后續(xù)復位源可以通過檢查復位標志來了
解。


看門狗定時器控制寄存器-
WDTCR

Bit 7 6 5 4 3 2 1 0

– – – WDTOE WDE WDP2 WDP1 WDP0

* Bits 7..5 – Res: 保留位

ATmega16 保留位,讀操作返回值為零。

* Bit 4 – WDTOE: 看門狗修改使能

清零 WDE 時必須置位 WDTOE ,否則不能禁止看門狗。一旦置位,硬件將在緊接的4 個
時鐘周期之后將其清零。請參考有關 WDE 的說明來禁止看門狗。

* Bit 3 – WDE: 使能看門狗

WDE 為 "1“ 時,看門狗使能,否則看門狗將被禁止。只有在WDTOE 為 "1“ 時WDE 才能清
零。以下為關閉看門狗的步驟:

1. 在同一個指令內對 WDTOE 和 WDE 寫 "1“ ,即使WDE 已經為 "1“

2. 在緊接的 4 個時鐘周期之內對 WDE 寫 "0”

* Bits 2..0 – WDP2, WDP1, WDP0: 看門狗定時器預分頻器 2, 1 和 0

WDP2、 WDP1 和 WDP0 決定看門狗定時器的預分頻器,如 Table 17 所示。

Table 17. 看門狗定時器預分頻器選項

VCC = 3.0V 時典型 VCC = 5.0V 時典型
WDP2 WDP1 WDP0 看門狗振蕩器周期 的溢出周期 的溢出周期

0 0 0 16K (16,384) 17.1 ms 16.3 ms

0 0 1 32K (32,768) 34.3 ms 32.5 ms

0 1 0 64K (65,536) 68.5 ms 65 ms

0 1 1 128K (131,072) 0.14 s 0.13 s

1 0 0 256K (262,144) 0.27 s 0.26 s

1 0 1 512K (524,288) 0.55 s 0.52 s

1 1 0 1,024K (1,048,576) 1.1 s 1.0 s

1 1 1 2,048K (2,097,152) 2.2 s 2.1 s

#include
#include
///#pragma interrupt_handler WDT_over:iv_RESET
unsigned char f_WDT=0;
void WDT_OFF(void)
{
/* WDT復位*/
_WDR();

/*修改看門狗使能時必須先要同時 置位WDTOE 和 WDE,然后對寫0禁用看門狗*/
WDTCR |= (1</* WDT */
WDTCR = 0x00;
}
void WDT_ON(unsigned char t)
{//在5v的電源下,t為0-8時,看門狗定時器的溢出時間分別16.3ms,32.5ms,65ms,0.13s,0.26s,0.52s,1s,2.1s。
//*修改看門狗使能時必須先要同時 置位WDTOE 和 WDE
WDTCR |= (1<//WDTCR =1<WDTCR=t|(1<}
void WDT_over(void)
{f_WDT++;
MCUCSR&=~(1<}



評論


技術專區(qū)

關閉