天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234
設計開發

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發工具

提供開發工具、應用測試 完善的開發代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

單片機的重要外設:定時器

更新時間: 2021-08-26
閱讀量:3445

單片機(MCU)應該知道當前的日期和時間。他們還經常需要測量預定的時間段,并跟蹤經過的時間。例如,一個典型的應用程序可能會反復詢問MCU自應用程序本身啟動以來已經過去了多長時間。另一個應用程序可以指示MCU每秒發出128次特定信號。程序還會經常告訴MCU在采取一些進一步的行動或轉換到其他一些進程之前等待一些指定的時間。在這些情況中的每一種情況下,以及在許多其他情況下,MCU必須使用一個或多個定時器。這些定時器通常作為MCU本身的外設功能實現。(見圖1)

fig1-types-of-processing-en.jpg

當然,軟件確實可以自行控制等待時間,不依賴硬件定時器的服務,只需保持CPU被非生產性步驟占用即可。這種方法如圖2所示。如果我們假設CPU需要1μs(微秒;百萬分之一秒)來執行一次循環迭代,我們可以通過將初始值設置為有效地實現1秒的等待100萬次,然后循環100萬次。這種方法的一個主要問題是它壟斷了CPU,CPU忙于數計算,以至于無法做任何其他事情。另一個問題是不能自由設置計數自定義增量,而定時器支持多種增量,0.1秒,1/1024秒等等。

fig2-software-timer-en.jpg

這種方法的另一個大問題是它依賴于CPU時鐘速度。如果程序稍后在具有不同時鐘速度的不同CPU上運行,那么等待時間也會改變。如果在100MHz PU上運行時等待時間需要1秒,那么在50MHz PU上運行時將需要2秒。如果希望保持相同的速度,則需要為使用的每臺機器修改循環代碼。這將花費大量時間,并且也容易出現許多錯誤。因此,在可能的情況下,最好使用硬件來跟蹤時間。

關于中斷的簡單介紹

下面簡單介紹一下中斷的概念,它是硬件定時器操作的一個基本特征。中斷——顧名思義,中斷當前處理以請求立即處理其他一些處理。通過使用中斷,即使CPU忙于做其他事情,也可以引起CPU的注意。

這是廚房的一個類比。你正在煮一些面條,你想在三分鐘內把它們從爐子上拿下來。一種方法是站在一旁盯著時鐘上的秒針三分鐘;這是軟件在等待循環重復一百萬次時所采用的方法。另一種方法是設置廚房計時器,然后做其他事情,直到鬧鐘“打斷”并重新引起的注意。使用這種方法,可以自由地處理其他任務,直到出現中斷。

當達到預定時間(經過時間;一天中的時間;完成時間等)時,MCU中的各種外設定時器通過發送中斷來提醒CPU。許多其他外設也使用此類中斷:例如,通知CPU某些監視狀態已更改,或者某些進程已啟動或結束。CPU可以一直忙于其他任務,直到每個中斷出現,因此整體效率仍然很高。

定時器和看門狗

MCU最常使用的外設定時器是對特定時間段進行計數的定時器,以及發出周期性中斷的定時器。RX63N還包括許多其他定時器,其中一個用于生成用于伺服電機控制的PWM(脈寬調制)信號,另一個用于測量輸入信號之間的時間,以及一個RTC(實時時鐘)跟蹤當前時間。

嵌入式系統中常用的一種更有趣的定時器是“看門狗”(WDT:看門狗定時器),也稱為“cop”(計算機正常運行)定時器。顧名思義,這個計時器的作用是檢測和響應計算機故障,以便系統可以從失控的程序中恢復,否則會導致系統凍結。當系統啟動程序時,它也會將預定的時間計數寫入WDT。然后WDT會定期自動遞減計數。如果程序正常結束,它將在關閉前清除WDT計數值。但是,如果程序掛起,WDT計數將繼續遞減。當該值低于0(“下溢”條件)時,WDT將產生一個中斷,警告CPU發生了錯誤。

联系我们: 孝昌县| 仙游县| 义乌市| 巴青县| 景宁| 西城区| 三原县| 盐边县| 建始县| 句容市| 天长市| 黔西| 东城区| 永年县| 长乐市| 曲阳县| 佛教| 平潭县| 呼图壁县| 西和县| 清远市| 喀什市| 东兴市| 黑河市| 吉首市| 枣阳市| 天长市| 涿鹿县| 新平| 新和县| 鱼台县| 新平| 临漳县| 龙里县| 阿勒泰市| 大方县| 专栏| 区。| 青海省| 乐山市| 朝阳区|