在由單片機構成的微型計算機系統中,由于單片機的工作常常會受到來自外界電磁場的干擾,造成程序的跑飛,而陷入死循環,程序的正常運行被打斷,由單片機控制的系統無法繼續工作,會造成整個系統的陷入停滯狀態,發生不可預料的后果,所以出于對單片機運行狀態進行實時監測的考慮,便產生了一種專門用于監測單片機程序運行狀態的芯片,俗稱"看門狗"(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;
...
}
上一篇:AVR 看門狗喚醒 代碼執行異常分析
下一篇:AVR 啟動時間 設置方法
推薦閱讀
史海拾趣
Amkor Technology是一家全球領先的半導體封裝和測試服務提供商。以下是關于Amkor公司發展的五個相關故事:
成立與早期發展:Amkor Technology成立于1968年,總部位于美國亞利桑那州的錢德勒市。公司最初是一家小型半導體封裝服務提供商,專注于為集成電路制造商提供先進的封裝解決方案。在成立初期,Amkor致力于技術創新和質量控制,贏得了客戶的信任和認可。
技術創新與產品多樣化:隨著電子行業的發展和技術的進步,Amkor不斷進行技術創新,并擴展了產品線。公司推出了一系列新的封裝技術和解決方案,包括先進的3D封裝、薄型封裝、系統封裝等。這些技術創新和產品多樣化使得Amkor能夠滿足不同客戶的需求,并保持在市場競爭中的領先地位。
全球布局與生產基地建設:為了更好地服務全球客戶,Amkor在全球范圍內建立了多個生產基地和分銷中心。除了在美國的設施外,公司還在亞洲、歐洲和其他地區建立了生產工廠和研發中心。這種全球布局有助于降低生產成本、提高生產效率,并加強了在全球市場的競爭力。
合作伙伴關系與客戶服務:Amkor與全球各種半導體制造商建立了緊密的合作伙伴關系,共同推動技術創新和產品發展。公司致力于為客戶提供優質的封裝和測試解決方案,并與客戶密切合作,開發定制化的解決方案。Amkor的客戶服務團隊提供全方位的技術支持和服務,確??蛻舻臐M意度和業務成功。
持續發展與業績表現:Amkor持續實現了穩健的增長和良好的業績表現。公司不斷投入研發,并提升生產效率和管理水平,以提高盈利能力和市場競爭力。Amkor的業績穩步增長,為股東創造了可觀的價值,并使得公司成為半導體封裝和測試服務領域的領先企業之一。
這些故事展示了Amkor Technology從成立初期到如今在技術創新、產品多樣化、全球布局、合作伙伴關系建設和持續發展等方面取得的重要進展。
在市場競爭日益激烈的背景下,BAHCO選擇了與同樣擁有悠久歷史的美國Snap-on公司進行合作。這次強強聯合不僅加強了雙方在技術、市場等方面的互補優勢,更為BAHCO打開了更廣闊的市場空間。通過Snap-on的全球銷售網絡,BAHCO的產品得以進入更多國家和地區,進一步提升了公司的品牌影響力和市場競爭力。
EA公司非常重視企業文化和團隊建設。公司倡導“誠信、創新、協作、共贏”的價值觀,鼓勵員工勇于創新、敢于擔當。為了提升員工的綜合素質和團隊協作能力,公司定期組織各類培訓和學習活動,并為員工提供了廣闊的發展空間和良好的福利待遇。在這種積極向上的企業文化氛圍下,EA公司形成了一支高效、專業的團隊,為公司的發展提供了有力的保障。
作為一家專注于電氣元件和連接器制造的公司,Amphenol Nexus Technologies始終致力于技術創新和產品升級。公司投入大量資源用于研發,不斷推出具有創新性和高性能的新產品。例如,在高速連接器領域,Amphenol Nexus Technologies成功研發出了112G高速背板連接器,這一產品滿足了人工智能等前沿技術對高速傳輸的需求,為公司帶來了新的增長點。
DATEL Inc.公司成立于1970年,總部位于美國馬薩諸塞州。公司成立的初衷是解決當時數據采集領域的痛點,如數據準確性低、采集效率低下等問題。創始人帶領一支由工程師組成的團隊,開始研發第一代數據采集產品。他們日夜兼程,不斷試驗、調整,最終成功推出了一款體積小、功耗低、易于開發的數據采集器,這款產品迅速在市場中獲得了認可。
EnOcean GmbH成立于2001年,總部設在慕尼黑附近的奧伯興。自創立之初,公司就專注于無線無源傳輸技術的研發,旨在提供一種無需外部電源、低維護成本的無線傳感器解決方案。這種技術的核心在于能量轉換器,能夠收集環境中的微弱能量(如光能、振動能等),轉化為電能供傳感器使用。隨著技術的不斷完善,EnOcean逐漸在電子行業中嶄露頭角。
隨著微型化程度不斷提高,元件和布線技術也取得巨大發展,例如BGA外殼封裝的高集成度的微型IC,以及導體之間的絕緣間距縮小到0.5mm,這些僅是其中的兩個例子。電子元件的布線設計方式,對以后制作流程中的測試能否很好進行,影響越來越大。下面介紹 ...… 查看全部問答∨ |
4-20mA一路轉多路信號隔離放大低成本、小體積解決方案一路轉多路4-20mA電流環變送器低成本應用方案 工業現場傳感器輸出的4-20mA信號,可以采用ISO系列隔離放大器來實現低成本、小體積信號一路轉多路(一進二出、一進四出、一進八出等)的方案來實 ...… 查看全部問答∨ |
我按自己的要求定制的操作系統,BUILD之后不知道為什么不能夠生成NK.BIN文件,有那個nk.exe文件,與生成NK.BIN文件相關的設置是什么?請各位指點一下,先謝謝各位了.(原來可以生成的,但我沒有注意有哪些設置!)… 查看全部問答∨ |
|
詳情: 我的產品壞了100多個了(總共做了400個)。拿回來修,大多是單片機壞了。單片機發熱。有時也能下載程序。就是不會正常工作/。用萬用表量發顯短路。不知道什么原因。 出廠都沒問題。到客戶那里運行一段時間就短路了。這是什么原因。工 ...… 查看全部問答∨ |
|
請問可不可以用EZ430-CC2500的仿真模塊仿真其它型號的單片機 可不可以用EZ430-CC2500的仿真模塊仿真其它型號的單片機 就是把那6根線用來和其它的單片機相連,不知道可不可以… 查看全部問答∨ |
|
ucos移植問題(ucos2.86+stm32+lib3.5):提示main.o和os_core.o出現41個重復定義的錯誤,但是main函數里并沒有定義那些東西呢?不知道為什么,請求解決,謝謝… 查看全部問答∨ |
首先會讓你輸入root用戶的密碼。 1)出錯的時候如果告訴你是哪一塊硬盤的分區有問題,比如是/dev/hda3 接著用如下的命令去對付它呀: &nb ...… 查看全部問答∨ |