女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

定時(shí)器中斷程序怎么寫

工程師鄧生 ? 來(lái)源:未知 ? 作者:劉芹 ? 2023-09-01 10:17 ? 次閱讀

定時(shí)器中斷程序怎么寫

嵌入式系統(tǒng)中,定時(shí)器被廣泛應(yīng)用于各種任務(wù)。它們?cè)趯?shí)時(shí)系統(tǒng)中可用于輪詢,計(jì)時(shí)等任務(wù)。定時(shí)器可以被配置為周期性定時(shí)器,非周期性定時(shí)器或單次定時(shí)器,以執(zhí)行不同類型的任務(wù)。當(dāng)定時(shí)器達(dá)到預(yù)定的定時(shí)時(shí)間時(shí),它會(huì)產(chǎn)生一個(gè)中斷信號(hào),稱為定時(shí)器中斷。在本文中,我們將詳細(xì)了解如何編寫定時(shí)器中斷程序。

#1. 硬件配置

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

a) CPU配置

CPU設(shè)計(jì)語(yǔ)言應(yīng)該支持中斷。因?yàn)橹袛鄼C(jī)制是通過(guò)修改CPU的狀態(tài)寄存器來(lái)實(shí)現(xiàn)的,因此CPU必須支持狀態(tài)寄存器。在大多數(shù)嵌入式系統(tǒng)中,常用的語(yǔ)言是C和匯編語(yǔ)言。

b) 定時(shí)器模塊配置

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

c) 中斷控制器配置

嵌入式系統(tǒng)中,通常使用中斷控制器來(lái)管理和路由中斷。中斷控制器允許您對(duì)響應(yīng)中斷的程序進(jìn)行配置,并將中斷路由到恰當(dāng)?shù)奶幚沓绦颉?br />
#2. 編寫定時(shí)器中斷程序

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

a) 定義中斷向量

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

注釋格式如下:

/*中斷服務(wù)程序*/

#pragma vector=中斷向量地址

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

{

// 中斷服務(wù)程序的操作

}

在上述代碼中,“#pragma vector”是指令,用于定義中斷向量地址。中斷向量地址通常可以從設(shè)備的數(shù)據(jù)手冊(cè)中獲取。在此之后,我們定義了一個(gè)函數(shù)來(lái)執(zhí)行中斷服務(wù)。

__interrupt表示該函數(shù)是一個(gè)中斷服務(wù)程序。真正的中斷號(hào)可以在配置定時(shí)器時(shí)確定,這里用“中斷向量地址”來(lái)代替它。中斷服務(wù)程序名稱是引用中斷服務(wù)程序的函數(shù)名稱。

b) 初始化定時(shí)器

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

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

TACCR0 = 定時(shí)時(shí)間 - 1; // 設(shè)置定時(shí)器計(jì)數(shù)器上限

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

// 定時(shí)器清零

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

c) 編寫中斷服務(wù)程序

在定義了中斷向量和初始化定時(shí)器之后,我們現(xiàn)在可以編寫定時(shí)器中斷服務(wù)程序。在定時(shí)器達(dá)到預(yù)定定時(shí)時(shí)間時(shí),它會(huì)產(chǎn)生一個(gè)中斷。中斷隨后會(huì)打斷CPU的正常執(zhí)行并轉(zhuǎn)到中斷服務(wù)程序,即上面我們定義的中斷向量。

當(dāng)中斷發(fā)生時(shí),中斷服務(wù)程序?qū)⒈徽{(diào)用,并執(zhí)行預(yù)設(shè)的操作。在本例中,我們實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的定時(shí)器計(jì)數(shù)器應(yīng)用程序,用于檢測(cè)定時(shí)器是否工作。

下面是一個(gè)示例程序:

volatile unsigned int count = 0;

#pragma vector=TIMER0_A0_VECTOR

__interrupt void Timer_A (void)

{

count++;

}

在上述代碼中,我們定義了一個(gè)變量count,在中斷服務(wù)程序中實(shí)現(xiàn)了它的自增操作。

#3. 測(cè)試定時(shí)器中斷程序

編寫定時(shí)器中斷程序后,需要將其上傳到嵌入式系統(tǒng)并進(jìn)行測(cè)試。我們可以使用適當(dāng)?shù)恼{(diào)試工具,如示波器,以確保定時(shí)器中斷程序可以正常工作。在上述示例程序中,計(jì)數(shù)器將在每個(gè)定時(shí)器中斷期間遞增,該計(jì)數(shù)器值可以用于測(cè)試。

總結(jié)

在本文中,我們?cè)敿?xì)討論了如何編寫定時(shí)器中斷程序。我們需要正確配置硬件,定義中斷向量,初始化定時(shí)器,并編寫適當(dāng)?shù)闹袛喾?wù)程序。最終,我們需要使用調(diào)試工具測(cè)試定時(shí)器中斷程序以確保它們可以正常工作。定時(shí)器中斷程序在實(shí)時(shí)系統(tǒng)中非常有用。在開始編寫定時(shí)器中斷程序之前,要仔細(xì)考慮各個(gè)方面。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3665

    瀏覽量

    130892
  • 分頻器
    +關(guān)注

    關(guān)注

    43

    文章

    490

    瀏覽量

    50822
  • 中斷控制器
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    9633
  • 狀態(tài)寄存器
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    7276
  • 定時(shí)器中斷
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    11423
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    第十二章 SysTick——系統(tǒng)定時(shí)器

    本章介紹了W55MH32的SysTick系統(tǒng)定時(shí)器,它是24位遞減計(jì)數(shù),含4個(gè)寄存,可配置定時(shí)中斷,用于產(chǎn)生時(shí)基 等。
    的頭像 發(fā)表于 05-22 17:16 ?309次閱讀
    第十二章 SysTick——系統(tǒng)<b class='flag-5'>定時(shí)器</b>

    MCU定時(shí)器/計(jì)數(shù)

    RISC-V核低功耗MCU通過(guò)靈活的定時(shí)器架構(gòu)、低功耗模式適配及硬件級(jí)中斷優(yōu)化,在工業(yè)控制、智能家居等場(chǎng)景中實(shí)現(xiàn)高精度計(jì)時(shí)與能耗控制的協(xié)同設(shè)計(jì),滿足復(fù)雜任務(wù)調(diào)度與實(shí)時(shí)響應(yīng)的雙重需求?。 一、?硬件
    的頭像 發(fā)表于 04-27 13:54 ?161次閱讀

    STM32G474HRTIM使用HRTIM配置了主定時(shí)器中斷,為啥調(diào)試的跳轉(zhuǎn)到硬件中斷,進(jìn)不去定時(shí)器中斷,為什么?

    各位大佬,我使用HRTIM配置了主定時(shí)器中斷,為啥調(diào)試的跳轉(zhuǎn)到硬件中斷,進(jìn)不去定時(shí)器中斷 下面是我的初始化代碼
    發(fā)表于 03-13 08:17

    stm32f103定時(shí)器2配置中斷程序一直死循環(huán),無(wú)法進(jìn)入中斷,怎么解決?

    目前定時(shí)器2配置中斷程序一直死循環(huán),無(wú)法進(jìn)入中斷,有無(wú)大佬請(qǐng)教或者看一下個(gè)參考?xì)v程
    發(fā)表于 03-12 08:18

    定時(shí)器自動(dòng)控制開關(guān)怎么設(shè)置

    定時(shí)器自動(dòng)控制開關(guān)是一種常見的自動(dòng)化設(shè)備,廣泛應(yīng)用于家庭、工業(yè)、農(nóng)業(yè)等多個(gè)領(lǐng)域。通過(guò)定時(shí)器,用戶可以預(yù)設(shè)時(shí)間,讓設(shè)備在特定時(shí)間自動(dòng)開啟或關(guān)閉,從而實(shí)現(xiàn)節(jié)能、提高效率和便利性。 一、定時(shí)器
    的頭像 發(fā)表于 09-19 16:19 ?3462次閱讀

    定時(shí)器的基本組成和工作模式

    定時(shí)器是計(jì)算機(jī)或電子設(shè)備中常見的一個(gè)硬件或軟件組件,其主要功能是測(cè)量和控制時(shí)間的流逝。它在各種應(yīng)用中起著至關(guān)重要的作用,如操作系統(tǒng)調(diào)度、多媒體播放、網(wǎng)絡(luò)通信、工業(yè)自動(dòng)化控制以及家電設(shè)備的定時(shí)功能等。定時(shí)器的工作原理基于時(shí)序控制,
    的頭像 發(fā)表于 08-19 18:28 ?2428次閱讀

    定時(shí)器的工作方式介紹

    或?qū)崿F(xiàn)周期性事件的硬件模塊。它可以用于實(shí)現(xiàn)各種定時(shí)任務(wù),如定時(shí)中斷、PWM(脈沖寬度調(diào)制)輸出、頻率測(cè)量等。定時(shí)器通常由一個(gè)計(jì)數(shù)、一個(gè)時(shí)鐘源和一個(gè)控制寄存
    的頭像 發(fā)表于 07-12 10:29 ?1693次閱讀

    定時(shí)器相關(guān)的寄存有哪些類型

    在微控制編程中,定時(shí)器是一種非常常見的功能模塊,用于實(shí)現(xiàn)各種定時(shí)和計(jì)數(shù)功能。定時(shí)器的工作原理是通過(guò)內(nèi)部的計(jì)數(shù)來(lái)跟蹤時(shí)間的流逝,當(dāng)計(jì)數(shù)
    的頭像 發(fā)表于 07-12 10:25 ?1523次閱讀

    如何將定時(shí)器配置為計(jì)數(shù),并在輸入引腳(傳感中斷時(shí)開始計(jì)數(shù)?

    如何將定時(shí)器配置為計(jì)數(shù),并在輸入引腳(傳感中斷時(shí)開始計(jì)數(shù)? 需要定時(shí)器的詳細(xì)設(shè)置以及如何處理中斷
    發(fā)表于 07-05 08:00

    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer定時(shí)器

    設(shè)置一個(gè)定時(shí)器,該定時(shí)器定時(shí)器到期后執(zhí)行一個(gè)函數(shù)。
    的頭像 發(fā)表于 06-28 11:33 ?1363次閱讀
    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer<b class='flag-5'>定時(shí)器</b>

    三菱plc如何顯示定時(shí)器時(shí)間

    菱PLC中,定時(shí)器的顯示和設(shè)置是非常重要的,下面將詳細(xì)介紹如何顯示和設(shè)置三菱PLC的定時(shí)器時(shí)間。 一、定時(shí)器的基本概念 定時(shí)器的作用:定時(shí)器
    的頭像 發(fā)表于 06-20 11:10 ?3091次閱讀

    三菱plc定時(shí)器范圍怎么設(shè)置

    定時(shí)器的設(shè)置范圍直接影響到程序的執(zhí)行效率和控制精度。本文將詳細(xì)介紹三菱PLC定時(shí)器的設(shè)置范圍及其設(shè)置方法。 定時(shí)器的基本概念 定時(shí)器是一種
    的頭像 發(fā)表于 06-20 11:04 ?4305次閱讀

    三菱plc編程定時(shí)器編程咋輸入

    三菱PLC定時(shí)器的編程方法和應(yīng)用場(chǎng)景。 1. 定時(shí)器的基本概念 定時(shí)器是一種用于測(cè)量時(shí)間間隔的設(shè)備,它可以在PLC程序中實(shí)現(xiàn)延時(shí)、計(jì)時(shí)等功能。三菱PLC中的
    的頭像 發(fā)表于 06-20 11:01 ?2636次閱讀

    PLC定時(shí)器的工作原理和應(yīng)用

    在工業(yè)自動(dòng)化控制系統(tǒng)中,PLC(Programmable Logic Controller,可編程邏輯控制)因其強(qiáng)大的控制功能和靈活性而得到廣泛應(yīng)用。作為PLC的重要組成部分,定時(shí)器在其中扮演著
    的頭像 發(fā)表于 06-18 11:55 ?4060次閱讀

    如何使用定時(shí)器一個(gè)延時(shí)函數(shù)?

    ;//不報(bào)警不中斷 delay.counter_en=1;//使能定時(shí)器 timer_init(0,0,&delay);//0組0定時(shí)器初始化 }; 按照stm32的寫法應(yīng)該還有一個(gè)更新狀態(tài)位,等待
    發(fā)表于 06-14 06:03