標(biāo)題: 51單片機(jī)中的看門狗是干嘛的? [打印本頁]

作者: 555555222    時(shí)間: 2020-7-19 10:58
標(biāo)題: 51單片機(jī)中的看門狗是干嘛的?
如題
作者: 透心涼丶    時(shí)間: 2020-7-19 13:35
看門狗(WDT)是一個(gè)定時(shí)器?撮T狗是用來防止萬一單片機(jī)程序出錯(cuò)造成重大損失的。防錯(cuò)的原理很簡單,它在硬件上就是一個(gè)定時(shí)器,當(dāng)它溢出的時(shí)候就會(huì)讓單片機(jī)強(qiáng)制復(fù)位使程序重新開始執(zhí)行。  正常的情況下是不能讓它溢出的,所以在程序上每隔一段時(shí)間要給他置一次值(俗稱喂狗),只要程序中正常給它喂他就不會(huì)溢出。  一旦程序跑飛了,有干擾或者進(jìn)入死循環(huán)之類的情況時(shí),不能正常執(zhí)行程序了,那么就永遠(yuǎn)執(zhí)行不到喂狗的指令了,但此時(shí)定時(shí)器是硬件控制的,仍然會(huì)走,所以溢出了,單片機(jī)就復(fù)位了。  一般安全性要求比較高的,系統(tǒng)跑飛了會(huì)造成重大事故的都會(huì)加一個(gè)“狗”保安全。  通常,看門狗的溢出時(shí)間越短越靈敏,跑飛之后復(fù)位的時(shí)間越短,也就越安全,但是,喂狗的操作也要更頻繁。
作者: 15951917887    時(shí)間: 2020-7-19 14:55
防止程序跑飛,復(fù)位使用的
作者: wangyuejia2015    時(shí)間: 2020-7-19 17:08
放置程序進(jìn)入某個(gè)死循環(huán)
作者: 就你****    時(shí)間: 2020-7-19 17:42
本帖最后由 就你?呸! 于 2020-7-19 17:51 編輯

你當(dāng)他是程序的保鏢,防止程序不夠完善死機(jī)的保護(hù)機(jī)制。單片機(jī)都有這玩意
作者: disorder    時(shí)間: 2020-7-19 17:51
防止程序進(jìn)入死循環(huán)或失去響應(yīng)的,一般的思路是設(shè)置一個(gè)變量,用定時(shí)器的中斷中不停的減1,而在主程序的正常語句中加1,如果監(jiān)控到這個(gè)變量減到0了,就表示主程序有一段時(shí)間沒有正確運(yùn)行,可以通過語句進(jìn)行異常處理。
作者: TTQ001    時(shí)間: 2020-7-20 07:25
硬件或軟件看門狗定時(shí)器用于確保用戶程序正常。
作者: jldz1234    時(shí)間: 2020-7-20 09:42
看門狗是為了防止程序跑飛用的,假若沒跑看門狗的喂狗程序,就會(huì)執(zhí)行軟件復(fù)位程序,使程序復(fù)位重新開始跑。代碼調(diào)試前期一般不用看門狗,中斷里邊也不要置看門狗。
作者: zhangyucheng    時(shí)間: 2020-7-20 10:47
防止程序跑飛,跑飛來回自動(dòng)復(fù)位,以此來保證系統(tǒng)的穩(wěn)定性




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1