女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當前位置:首頁 > > 小白白學電子
[導讀]看門狗(watch dog)是一個定時器,可以設置一個定時時間,計時到時會把MCU復位,所以MCU必須要在定時時間到之前將計數(shù)值重置(這個動作通常稱為喂狗)。在嵌入式系統(tǒng)中加入看門狗,可以監(jiān)測MCU是否還在正常運行,如果軟件跑進死循環(huán)、或者出現(xiàn)其他錯誤,導致不能及時重置看門狗計時器,則時間一到MCU就會被復位,重新回到初始狀態(tài),以此跳出錯誤狀態(tài)。

(抱歉,昨天這篇文章已經發(fā)過,但是后來發(fā)現(xiàn)兩個錯誤,一是訪問dog_flag變量時應該當作臨界段保護,二是事件標志組的代碼里置事件標志組bit2時參數(shù)應該是0x04而不是0x03,現(xiàn)已將兩段代碼更正,造成的不便敬請諒解)

1)看門狗基礎知識

看門狗(watch dog)是一個定時器,可以設置一個定時時間,計時到時會把MCU復位,所以MCU必須要在定時時間到之前將計數(shù)值重置(這個動作通常稱為喂狗)。在嵌入式系統(tǒng)中加入看門狗,可以監(jiān)測MCU是否還在正常運行,如果軟件跑進死循環(huán)、或者出現(xiàn)其他錯誤,導致不能及時重置看門狗計時器,則時間一到MCU就會被復位,重新回到初始狀態(tài),以此跳出錯誤狀態(tài)。

在裸機編程時,只需把喂狗操作放在主循環(huán)中,確保正常運行時一個循環(huán)的最長時間不超過看門狗計時器的時間,看門狗就能起到監(jiān)測系統(tǒng)是否正常運行的作用。

特別注意:不要把喂狗操作放在定時器中斷中,因為這樣即使主程序進入了死循環(huán),定時器中斷仍然會定期運行,起不到看門狗溢出的作用。

2)多任務環(huán)境中如何喂狗

在多任務環(huán)境,如多RTOS系統(tǒng)中,同時有多個任務在運行,每個任務相相當于一個無限循環(huán),操作系統(tǒng)在后臺調度使得它們都能運行。如果在這種情況下,我們簡單地在每個任務的主循環(huán)中都加入喂狗操作,那么就起不到看門狗的監(jiān)測作用了。因為,此時系統(tǒng)中只要有一個任務在正常運行,也能起到定期喂狗的作用,即使其他任務有進入死循環(huán)、或者其他不能跳出的錯誤時,看門狗也不能起到作用。

那么在多任務系統(tǒng)中應該如何喂狗呢?我們知道,看門狗的目的是為了監(jiān)測錯誤,那么我們只要將所有任務的狀態(tài)都檢查一下,如果都正常才執(zhí)行喂狗操作。

假設系統(tǒng)中有4個任務,DefaultTask、Task01、Task02、Task03。我們先建立一個全局變量dog_flag用于存儲各個任務的喂狗狀態(tài);在前3個任務的主循環(huán)中,把dog_flag對應的bit位置位,DefaultTask置位bit0、Task01置位bit1、Task02置位bit2;在最后的Task03任務中,循環(huán)檢查是否所有在使用的bit位都被置位,如果都被置位,則說明其他所有的任務的主循環(huán)都在正常運行,那么可以喂狗;同時最后要將dog_flag清零,以用于下一次監(jiān)測置位。

簡單的代碼實現(xiàn)示例如下(注意在讀寫dog_flag的語句屬于臨界段,需要保護起來):


3)事件標志組應用于多任務喂狗

上述的代碼是最直觀容易理解的,而實際上,在大部分的RTOS中,有一種更優(yōu)雅的實現(xiàn)方式,那就是利用事件標準組。

我們之前講freeRTOS的時候,在事件標志組相關的章節(jié)提到過,在事件標志組的變量中,每個bit位表示了一個事件,正好相當于這里我們用于監(jiān)測各個任務主循環(huán)是否執(zhí)行到的bit位。同時,事件標志組可以通知其他任務,我們可以利用這個特性,在喂狗的任務中等待其他所有任務的發(fā)送的事件標志,如果全都等到了,就喂狗并清除事件。

以freeRTOS環(huán)境為例,示例如下:

要注意一下,使用事件標志組時,由于要等到所有的事件后,才能向后執(zhí)行完一個循環(huán),所以,一般建議單獨建立一個任務用于喂狗,這個任務中不再執(zhí)行其他操作。

好了,本節(jié)的內容就分享到這了。如果覺得有用,歡迎大家關注我的微信公眾號“小白白學電子”,更多學習資源分享:

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時機的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構、軟件流程、安全規(guī)范三個維度,系統(tǒng)分析看門狗初始化的最佳實踐...

關鍵字: 單片機 看門狗 嵌入式系統(tǒng)

單片機定時器通過晶振頻率來產生精準的計數(shù)脈沖,從而實現(xiàn)微秒級別的時間控制。 單片機定時器依托于一個穩(wěn)定的計數(shù)器,該計數(shù)器與單片機上的晶振部件相連。晶振經過12分頻后,為單片機提供穩(wěn)定且精準的1MHZ脈沖。由于晶振的頻率極...

關鍵字: 單片機 定時器

編碼器?是一種傳感器,主要用于測量旋轉運動的角度、角速度和位移等參數(shù)。常見的編碼器類型包括增量式編碼器和絕對值編碼器,前者通過檢測脈沖的增加或減少來測量旋轉方向和距離,后者則直接輸出當前的絕對位置信息?。

關鍵字: 編碼器? 定時器

一款語音控制的番茄時間定時器,內置Seeed Studio XIAO ESP32S3感測和圓形顯示。用免提時間管理保持高效!

關鍵字: 定時器 ESP32S3 語音控制

【2025年3月20日, 德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網領域的半導體領導者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼: IFNNY)近日宣布,其旗下ModusToolboxTM開發(fā)平臺中的AIROC?...

關鍵字: MCU 物聯(lián)網 定時器

看門狗是實現(xiàn)嵌入式計算機系統(tǒng)運行狀態(tài)監(jiān)控的一種措施 , 能夠有效提高系統(tǒng)運行可靠性 。針對HKSP6102處理器在嵌入式計算機中的應用 ,分析了通用看門狗的設計方法及其特點;最后介紹了數(shù)據處理模塊的看門狗設計方法 ,基于...

關鍵字: 看門狗 嵌入式計算機 監(jiān)控

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是一種重要的故障檢測和恢復機制。當系統(tǒng)因軟件錯誤、硬件故障或外部干擾而陷入異常狀態(tài)時,看門狗能夠自動觸發(fā)復位操作,使系統(tǒng)恢復到正常運行狀態(tài)。本文將深入探...

關鍵字: 嵌入式系統(tǒng) 看門狗

眾所周知,說到延時,很多人都會想到用軟件件來實現(xiàn),比如定時器之類的。今天就來說說用硬件來實現(xiàn)定時的方式,雖說沒有那么準,但是有些場合還是用得到的。

關鍵字: CD4060 定時器

如果定時器的重裝值和分頻設置不正確,會導致PWM輸出的頻率和占空比不準確,從而產生誤差?1。

關鍵字: 定時器 分頻

為了保護個人信息和網絡設備的安全,專家們致力于開發(fā)各種安全技術和工具。其中,路由器看門狗功能成為了網絡安全領域的一大創(chuàng)新。

關鍵字: 路由器 看門狗
關閉