91视频丝瓜-91视频完整版高清-91视频网-91视频网店-91视频网或将从此无大神-91视频网入口

您好,歡迎訪問上海現易電子元器件有限公司網站!

021-51870898
021-51870898   18019251567
4新聞資訊
您的位置: 首頁 ->  新聞資訊 -> 單片機

?AVR中的定時器喂狗的作用

文章出處:單片機 責任編輯:上海現易電子元器件有限公司 發表時間:2020-11-10

在由單片機構成的微型計算機系統中,由于單片機的工作常常會受到來自外界電磁場的干擾,造成程序的跑飛,而陷入死循環,程序的正常運行被打斷,由單片機控制的系統無法繼續工作,會造成整個系統的陷入停滯狀態,發生不可預料的后果,所以出于對單片機運行狀態進行實時監測的考慮,便產生了一種專門用于監測單片機程序運行狀態的芯片,俗稱"看門狗"(watchdog)。


其次,看門狗的工作原理是什么?

在系統運行以后也就啟動了看門狗的計數器,看門狗就開始自動計數,如果到了一定的時間還不去清看門狗,那么看門狗計數器就會溢出從而引起看門狗中斷,造成系統復位。所以在使用有看門狗的芯片時要注意清看門狗(俗稱喂狗)。


AVR中的定時器和其他所有的單片機定時器大同小異,看門狗的作用也是如此,在大多數項目中,開發人員一般都是為了省事而將看門狗直接靜默,但是這樣一旦出現外部影響或者一些非人力因素導致的跑飛、程序死機,會導致單片機不能再自動的重啟。


在一般的使用中,我們在init.c中對看門狗進行初始化//一般不建議直接靜默,而應該設置一個看門狗定時器的閾值
void wdtinit(void)
{
    #asm("wdr")
    WDTCR=0x1F;
    WDTCR=0x0F;
}

然后在主函數進行一個喂狗操作。

void main()

{

...

while(1)

{

 wdtflag=1; //喂狗

...

}

}


的確,這樣一般的情況下都可以避免單片機的非正常死機。但是在高低溫實驗(見博主前文)或者其他的時候,不可避免的會導致單片機的異常重啟,尤其是在程序運行時間大致等于看門狗定時器的情況下。


除了在中斷進行喂狗,一個比較好的辦法就是在定時器中進行喂狗操作,這樣可以避免中斷函數進入后子函數太長而導致程序運行時間大于看門狗定時器的時間的情況

interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
...
    wdtflag=1;
...
}


上海現易電子元器件有限公司 版權所有 未經授權禁止復制或鏡像

CopyRight 2020-2025 www.urqm.cn All rights reserved   滬ICP備2020031792號

友情鏈接:

電話

易經理

18019251567

微信

易經理

易經理

頂部

咨詢
主站蜘蛛池模板: 九九国产精品视频 | 四虎2024国产最新地址 | 黄色a级 | 99久久精品免费看国产免费软件 | 成人片黄网站A片免费 | 国产老师开裆丝袜喷水漫画 | 王伟忠周梦莹最新章节 | 国语对白久久 | 欧美另类久久久精品 | 亚洲卡一卡2卡三卡4麻豆 | 思思99热久久精品在线6 | 欧美一区二区日韩一区二区 | 性色AV蜜桃AV人妻无码 | 精品伦理| 爽死你个放荡粗暴小淫货双女视频 | 国产综合成人亚洲区 | 99视频在线观看免费 | 日韩手机视频 | 一二三影院 | 永久在线免费 | 美女18禁永久免费观看网站 | 亚洲亚洲人成综合网络 | 国产精品色拉拉免费看 | 波多野结衣 美乳人妻 | 长篇肉戏香艳完本小说排行榜 | 光根电影院理论片午夜 | md色视频在线观看免费 | 欧美风情第一页 | 国产特黄特色的大片观看免费视频 | 日本一区免费看 | 最新jizz欧美 | 少妇人妻AV毛片在线看 | 亚洲精品一区二区三区婷婷月色 | 久久精品视在线观看2 | 欧美精品亚洲精品 | 成人午夜亚洲影视在线观看 | 久久成人做爰电影图片 | 日本日本熟妇中文在线视频 | 亚洲国产日韩一区二区A片 亚洲国产日韩制服在线观看 | 久久久久久精 | 2018高清国产一道国产 |