91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

定時器中斷程序怎么寫

工程師鄧生 ? 來源:未知 ? 作者:劉芹 ? 2023-09-01 10:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

定時器中斷程序怎么寫

嵌入式系統中,定時器被廣泛應用于各種任務。它們在實時系統中可用于輪詢,計時等任務。定時器可以被配置為周期性定時器,非周期性定時器或單次定時器,以執行不同類型的任務。當定時器達到預定的定時時間時,它會產生一個中斷信號,稱為定時器中斷。在本文中,我們將詳細了解如何編寫定時器中斷程序。

#1. 硬件配置

在開始編寫定時器中斷程序之前,正確配置定時器是至關重要的。硬件包含CPU,定時器模塊和中斷控制器

a) CPU配置

CPU設計語言應該支持中斷。因為中斷機制是通過修改CPU的狀態寄存器來實現的,因此CPU必須支持狀態寄存器。在大多數嵌入式系統中,常用的語言是C和匯編語言。

b) 定時器模塊配置

定時器模塊負責計時任務。設置定時器的速度(例如,多快一個計時器令牌)取決于處理器的主頻和定時器模塊的特性。需要確定用于定時器模塊的時鐘源和分頻器。

c) 中斷控制器配置

嵌入式系統中,通常使用中斷控制器來管理和路由中斷。中斷控制器允許您對響應中斷的程序進行配置,并將中斷路由到恰當的處理程序。

#2. 編寫定時器中斷程序

在定時器中斷程序中,我們必須遵循一定的方法和規則。流程如下:

a) 定義中斷向量

在編寫定時器中斷程序之前,必須為定時器中斷定義中斷向量。中斷向量是中斷服務程序的入口點。為了定義中斷向量,我們需要使用特殊的注釋格式,并使用定義中斷向量的操作碼。

注釋格式如下:

/*中斷服務程序*/

#pragma vector=中斷向量地址

__interrupt void 中斷服務程序名稱(void)

{

// 中斷服務程序的操作

}

在上述代碼中,“#pragma vector”是指令,用于定義中斷向量地址。中斷向量地址通常可以從設備的數據手冊中獲取。在此之后,我們定義了一個函數來執行中斷服務。

__interrupt表示該函數是一個中斷服務程序。真正的中斷號可以在配置定時器時確定,這里用“中斷向量地址”來代替它。中斷服務程序名稱是引用中斷服務程序的函數名稱。

b) 初始化定時器

在編寫定時器中斷程序之前,首先需要初始化定時器。需要確定定時器的定時時間和計時單位等重要參數。

我們可以使用以下代碼初始化定時器:

TACCR0 = 定時時間 - 1; // 設置定時器計數器上限

TACTL = TASSEL_2 + ID_x + MC_1 + TACLR; // 設置時鐘源、分頻器、模式和

// 定時器清零

在上述代碼中,TACCR0表示定時器計時器上限,以實現計時器時間的設置。TASSEL_2是時鐘源選擇(選擇器允許您選擇使用內部時鐘還是外部時鐘)。ID_x是計數器分頻器,以確定定時器時鐘速率(內部時鐘或外部時鐘),和MC_1是定時器模式。

c) 編寫中斷服務程序

在定義了中斷向量和初始化定時器之后,我們現在可以編寫定時器中斷服務程序。在定時器達到預定定時時間時,它會產生一個中斷。中斷隨后會打斷CPU的正常執行并轉到中斷服務程序,即上面我們定義的中斷向量。

當中斷發生時,中斷服務程序將被調用,并執行預設的操作。在本例中,我們實現了一個簡單的定時器計數器應用程序,用于檢測定時器是否工作。

下面是一個示例程序:

volatile unsigned int count = 0;

#pragma vector=TIMER0_A0_VECTOR

__interrupt void Timer_A (void)

{

count++;

}

在上述代碼中,我們定義了一個變量count,在中斷服務程序中實現了它的自增操作。

#3. 測試定時器中斷程序

編寫定時器中斷程序后,需要將其上傳到嵌入式系統并進行測試。我們可以使用適當的調試工具,如示波器,以確保定時器中斷程序可以正常工作。在上述示例程序中,計數器將在每個定時器中斷期間遞增,該計數器值可以用于測試。

總結

在本文中,我們詳細討論了如何編寫定時器中斷程序。我們需要正確配置硬件,定義中斷向量,初始化定時器,并編寫適當的中斷服務程序。最終,我們需要使用調試工具測試定時器中斷程序以確保它們可以正常工作。定時器中斷程序在實時系統中非常有用。在開始編寫定時器中斷程序之前,要仔細考慮各個方面。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3683

    瀏覽量

    131447
  • 分頻器
    +關注

    關注

    43

    文章

    492

    瀏覽量

    51185
  • 中斷控制器
    +關注

    關注

    0

    文章

    61

    瀏覽量

    9679
  • 狀態寄存器
    +關注

    關注

    0

    文章

    39

    瀏覽量

    7315
  • 定時器中斷
    +關注

    關注

    0

    文章

    49

    瀏覽量

    11504
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【沁恒CH585開發板免費試用體驗】定時器操作

    獨立的,可以一起同步操作。 2 定時器代碼實現 接下來我們以通用定時器 TMR0為實例,來說明要經過哪些步驟,才能達到這個要求,并產生中斷。 2.1 定時器配置步驟 這里我們就對每個步
    發表于 07-05 23:06

    stm32H743定時器溢出的原因?怎么解決?

    我利用定時器更新中斷實現軟件計時,定時時間是固定的按照{10ms, 20ms,650ms, 50ms,50ms}周期性進行的。由于下一次的計時時間是需要在定時器
    發表于 06-23 08:26

    第十二章 SysTick——系統定時器

    本章介紹了W55MH32的SysTick系統定時器,它是24位遞減計數,含4個寄存,可配置定時中斷,用于產生時基 等。
    的頭像 發表于 05-22 17:16 ?468次閱讀
    第十二章 SysTick——系統<b class='flag-5'>定時器</b>

    MCU定時器/計數

    RISC-V核低功耗MCU通過靈活的定時器架構、低功耗模式適配及硬件級中斷優化,在工業控制、智能家居等場景中實現高精度計時與能耗控制的協同設計,滿足復雜任務調度與實時響應的雙重需求?。 一、?硬件
    的頭像 發表于 04-27 13:54 ?318次閱讀

    STM32G474HRTIM使用HRTIM配置了主定時器中斷,為啥調試的跳轉到硬件中斷,進不去定時器中斷,為什么?

    各位大佬,我使用HRTIM配置了主定時器中斷,為啥調試的跳轉到硬件中斷,進不去定時器中斷 下面是我的初始化代碼
    發表于 03-13 08:17

    stm32f103定時器2配置中斷程序一直死循環,無法進入中斷,怎么解決?

    目前定時器2配置中斷程序一直死循環,無法進入中斷,有無大佬請教或者看一下個參考歷程
    發表于 03-12 08:18

    詳解CKS32F107xx系列的定時器同步功能

    CKS32F107xx系列部分定時器在內部是相連的,可用于定時器同步或鏈接,方便用戶配置不同的同步模式,以便在電機控制、數據采集和PWM信號生成等應用中,實現復雜的時間序列和多通道的同步操作。本節課
    的頭像 發表于 11-26 17:51 ?1065次閱讀
    詳解CKS32F107xx系列的<b class='flag-5'>定時器</b>同步功能

    看門狗定時器的工作原理

    看門狗定時器是一種獨立的計時硬件模塊,其核心功能是倒計時。如果系統軟件在計時超時前沒有對其進行復位操作(即“喂狗”),看門狗將觸發一個預定義的動作,通常是系統復位或中斷
    的頭像 發表于 10-21 14:18 ?1302次閱讀
    看門狗<b class='flag-5'>定時器</b>的工作原理

    燈光定時器自動控制怎么調

    燈光定時器自動控制是一種智能家居設備,它允許用戶設定特定的時間來開啟或關閉燈光,從而實現節能和自動化控制。這種設備通常可以通過物理按鈕、遙控或者智能手機應用程序來設置。 燈光
    的頭像 發表于 10-17 14:13 ?4276次閱讀

    定時器自動控制開關怎么設置

    定時器自動控制開關是一種常見的自動化設備,廣泛應用于家庭、工業、農業等多個領域。通過定時器,用戶可以預設時間,讓設備在特定時間自動開啟或關閉,從而實現節能、提高效率和便利性。 一、定時器
    的頭像 發表于 09-19 16:19 ?4123次閱讀

    請問studio中可以像裸機一樣調用定時器中斷嗎?

    studio中可以像裸機一樣調用定時器中斷嗎?我調用后顯示出錯了,使用hal庫還需要添加什么嗎
    發表于 09-13 08:18

    LM555-MIL定時器數據表

    電子發燒友網站提供《LM555-MIL定時器數據表.pdf》資料免費下載
    發表于 08-23 10:19 ?1次下載
    LM555-MIL<b class='flag-5'>定時器</b>數據表

    LM555定時器數據表

    電子發燒友網站提供《LM555定時器數據表.pdf》資料免費下載
    發表于 08-20 09:22 ?2次下載
    LM555<b class='flag-5'>定時器</b>數據表

    定時器的基本組成和工作模式

    定時器是計算機或電子設備中常見的一個硬件或軟件組件,其主要功能是測量和控制時間的流逝。它在各種應用中起著至關重要的作用,如操作系統調度、多媒體播放、網絡通信、工業自動化控制以及家電設備的定時功能等。定時器的工作原理基于時序控制,
    的頭像 發表于 08-19 18:28 ?2791次閱讀
    主站蜘蛛池模板: 天天综合天天做天天综合 | 性感美女福利视频 | 天天插日日干 | 综合婷婷 | 久久久久综合中文字幕 | 四虎永久免费在线 | 大又大又粗又爽又黄毛片女人 | 亚洲欧美经典 | 热久在线| 欧美一级黄视频 | www.操你啦| 国产高清视频免费最新在线 | 三级在线观看网站 | 精品国产污污免费网站入口 | 天天草天天草 | 福利午夜在线 | 97影院理论片在线观看 | 中文字幕亚洲区 | 美国激情ap毛片 | 国产亚洲美女精品久久久久狼 | 国产一区二区三区欧美精品 | 日本暴力喉深到呕吐hd | 黄网在线免费观看 | 伊人久久大香线蕉综合电影 | 天天综合色天天综合网 | 午夜色a大片在线观看免费 午夜色大片在线观看 | 免费能直接在线观看黄的视频 | 黄色录像三级 | 亚洲成人高清在线 | 成在线人视频免费视频 | 一区二区三区四区无限乱码在线观看 | 爱我免费视频观看在线www | 日韩国产片 | 国产看午夜精品理论片 | 成人黄色免费看 | 国产精品美女久久久久网 | 成人亚洲网站www在线观看 | 精品综合久久久久久98 | 日本女人啪啪 | 日本aaaaa毛片动漫 | 午夜欧美精品久久久久久久久 |