在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

基礎(chǔ)定時器實(shí)驗(yàn)

汽車電子技術(shù) ? 來源:滑小稽筆記 ? 作者: 電子技術(shù)園地 ? 2023-03-01 15:59 ? 次閱讀

7.1 STM32定時器概述

STM32內(nèi)部共有8個定時器,其中Timer1和Timer8屬于高級定時器,Timer2~Timer5屬于通用定時器,8個定時器的資源獨(dú)立,互不影響。

   STM32的通用定時器是一個通過可編程預(yù)分頻器(PSC)驅(qū)動的16位自動裝載計(jì)數(shù)器(CNT)構(gòu)成。STM32的通用定時器可以被用于:測量輸入信號的脈沖長度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和PWM)等。使用定時器預(yù)分頻器和RCC時鐘控制器預(yù)分頻器,脈沖長度和波形周期可以在幾個微秒到幾個毫秒間調(diào)整。STM32的每個通用定時器都是完全獨(dú)立的,沒有互相共享的任何資源。

通用定時器的內(nèi)部結(jié)構(gòu)如下圖所示。

圖片

7.2 相關(guān)寄存器

要使用通用定時器的基本功能,一共需要配置4個寄存器,剩余的寄存器都是在輸入捕獲和輸出比較中使用到的。

7.2.1 控制寄存器1:TIMx_CR1

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- CKD[1:0] ARE CMS[1:0] DIR OPM URS UDIS CEN

Bit 9~Bit 8:時鐘分頻系數(shù),定義定時器輸入時鐘頻率與數(shù)字濾波器采樣頻率之間的分頻系數(shù)

00:采樣頻率與定時器輸入頻率相等

   01:采樣頻率是定時器輸入頻率的210:采樣頻率是定時器輸入頻率的411:保留

Bit 7:自動重裝載使能

0:TIMx_ARR寄存器中沒有緩沖

   1:TIMx_ARR寄存器的數(shù)據(jù)裝入緩存器

Bit 6~Bit 5:選擇中央對齊模式

00:邊沿對齊模式,計(jì)數(shù)器根據(jù)方向位DIR計(jì)數(shù)

   01:中央對齊模式1,計(jì)數(shù)器交替向上向下計(jì)數(shù),當(dāng)TIMx_CCMRx中的CCxS=00時,計(jì)數(shù)器向下計(jì)數(shù)時被設(shè)置

   10:中央對齊模式2,計(jì)數(shù)器交替向上向下計(jì)數(shù),當(dāng)TIMx_CCMRx中的CCxS=00時,計(jì)數(shù)器向上計(jì)數(shù)時被設(shè)置

   11:中央對齊模式3,計(jì)數(shù)器交替向上向下計(jì)數(shù),當(dāng)TIMx_CCMRx中的CCxS=00時,計(jì)數(shù)器向下和向上計(jì)數(shù)時       被均設(shè)置

Bit 4:計(jì)數(shù)方向

0:向上計(jì)數(shù),計(jì)數(shù)器從0計(jì)數(shù)到TIMx_ARR寄存器的數(shù)據(jù)時重新從0開始并產(chǎn)生一個計(jì)數(shù)器溢出事件

   1:向下計(jì)數(shù),計(jì)數(shù)器從TIMx_ARR寄存器的數(shù)據(jù)計(jì)數(shù)到0時重新從TIMx_ARR寄存器的數(shù)據(jù)開始并產(chǎn)生一個計(jì)數(shù)器溢出事件

Bit 3:單脈沖模式

0:發(fā)生更新事件時計(jì)數(shù)器不停止

   1:在發(fā)生下一次更新事件時,計(jì)數(shù)器停止

Bit 2:更新請求源

0:如果使能了更新中斷或DMA請求,計(jì)數(shù)器溢出/設(shè)置UG位/從模式控制器產(chǎn)生更新都產(chǎn)生更新中斷或DMA請求

   1:如果使能了更新中斷或DMA請求,只有計(jì)數(shù)器溢出才產(chǎn)生更新中斷或DMA請求

Bit 1:禁止更新

0:允許UEV。更新事件由計(jì)數(shù)器溢出/設(shè)置UG位/從模式控制器產(chǎn)生更新事件產(chǎn)生

   1:不產(chǎn)生更新事件

Bit 0:使能計(jì)數(shù)器

0:禁止計(jì)數(shù)器

   1:使能計(jì)數(shù)器

7.2.2 DMA/中斷使能寄存器:TIMx_DIER

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- TDE - CC4DE CC3DE CC2DE CC1DE UDE - TIE - CC4IE CC3IE CC2IE CC1IE UIE

Bit 14:允許觸發(fā)DMA請求

0:禁止觸發(fā)DMA請求

   1:允許觸發(fā)DMA請求

Bit 12:允許捕獲/比較4的DMA請求

0:禁止捕獲/比較4的DMA請求

   1:允許捕獲/比較4的DMA請求

Bit 11:允許捕獲/比較3的DMA請求

0:禁止捕獲/比較3的DMA請求

   1:允許捕獲/比較3的DMA請求

Bit 10:允許捕獲/比較2的DMA請求

0:禁止捕獲/比較2的DMA請求

   1:允許捕獲/比較2的DMA請求

Bit 9:允許捕獲/比較1的DMA請求

0:禁止捕獲/比較1的DMA請求

   1:允許捕獲/比較1的DMA請求

Bit 8:允許更新的DMA請求

0:禁止更新的DMA請求

   1:允許更新的DMA請求

Bit 6:觸發(fā)中斷使能

0:禁止觸發(fā)中斷

   1:允許觸發(fā)中斷

Bit 4:允許捕獲/比較4的中斷

0:禁止捕獲/比較4的中斷

   1:允許捕獲/比較4的中斷

Bit 3:允許捕獲/比較3的中斷

0:禁止捕獲/比較3的中斷

   1:允許捕獲/比較3的中斷

Bit 2:允許捕獲/比較2的中斷

0:禁止捕獲/比較2的中斷

   1:允許捕獲/比較2的中斷

Bit 1:允許捕獲/比較1的中斷

0:禁止捕獲/比較1的中斷

   1:允許捕獲/比較1的中斷

Bit 0:允許更新中斷

0:禁止更新中斷

   1:允許更新中斷

7.2.3 預(yù)分頻寄存器:TIMx_PSC

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC[15:0]

Bit 15~Bit 0:預(yù)分頻器的值,計(jì)數(shù)器的時鐘頻率計(jì)算公式為

圖片

7.2.4 自動重裝載寄存器:TIMx_ARR

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR[15:0]

Bit 15~Bit 0:自動重裝載的值,該值就是傳送到實(shí)際的自動重裝載寄存器的數(shù)值,當(dāng)該寄存器的值為空時,計(jì)數(shù)器不工作。

7.2.5 狀態(tài)寄存器:TIMx_SR

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- CC4OF CC3OF CC2OF CC1OF - TIF - CC4IF CC3IF CC2IF CC1IF UIF

Bit 12:捕獲/比較4重復(fù)捕獲標(biāo)記

0:無重復(fù)捕獲產(chǎn)生

   1:當(dāng)計(jì)數(shù)器的值捕獲到TIMx_CCR4寄存器時,CC4IF的狀態(tài)已經(jīng)為1

Bit 11:捕獲/比較3重復(fù)捕獲標(biāo)記

0:無重復(fù)捕獲產(chǎn)生

   1:當(dāng)計(jì)數(shù)器的值捕獲到TIMx_CCR3寄存器時,CC3IF的狀態(tài)已經(jīng)為1

Bit 10:捕獲/比較2重復(fù)捕獲標(biāo)記

0:無重復(fù)捕獲產(chǎn)生

   1:當(dāng)計(jì)數(shù)器的值捕獲到TIMx_CCR2寄存器時,CC2IF的狀態(tài)已經(jīng)為1

Bit 9:捕獲/比較1重復(fù)捕獲標(biāo)記

0:無重復(fù)捕獲產(chǎn)生

   1:當(dāng)計(jì)數(shù)器的值捕獲到TIMx_CCR1寄存器時,CC1IF的狀態(tài)已經(jīng)為1

Bit 6:觸發(fā)器中斷標(biāo)記

0:無觸發(fā)事件產(chǎn)生

   1:觸發(fā)器中斷等待響應(yīng)

Bit 4:捕獲/比較4中斷標(biāo)記

**通道CC4配置為輸出模式** :

   0:無匹配發(fā)生

   1:TIMx_CNT的值與TIMx_CCR4的值匹配

    **通道CC4配置為輸入模式** :

   0:沒有輸入捕獲產(chǎn)生

   1:計(jì)數(shù)器值已經(jīng)被捕獲到TIMx_CCR4中(在IC4上檢測到與所選極性相同的邊沿)

Bit 3:捕獲/比較3中斷標(biāo)記

** 通道CC3配置為輸出模式** :

0:無匹配發(fā)生

   1:TIMx_CNT的值與TIMx_CCR3的值匹配

    **通道CC3配置為輸入模式** :

   0:沒有輸入捕獲產(chǎn)生

   1:計(jì)數(shù)器值已經(jīng)被捕獲到TIMx_CCR3中(在IC3上檢測到與所選極性相同的邊沿)

Bit 2:捕獲/比較2中斷標(biāo)記

**通道CC2配置為輸出模式** :

   0:無匹配發(fā)生

   1:TIMx_CNT的值與TIMx_CCR2的值匹配

    **通道CC2配置為輸入模式** :

   0:沒有輸入捕獲產(chǎn)生

   1:計(jì)數(shù)器值已經(jīng)被捕獲到TIMx_CCR2中(在IC2上檢測到與所選極性相同的邊沿)

Bit 1:捕獲/比較1中斷標(biāo)記

**通道CC1配置為輸出模式** :

   0:無匹配發(fā)生

   1:TIMx_CNT的值與TIMx_CCR1的值匹配

    **通道CC1配置為輸入模式** :

   0:沒有輸入捕獲產(chǎn)生

   1:計(jì)數(shù)器值已經(jīng)被捕獲到TIMx_CCR1中(在IC1上檢測到與所選極性相同的邊沿)

Bit 0:更新中斷標(biāo)記

0:無更新事件產(chǎn)生

   1:更新中斷等待響應(yīng),當(dāng)產(chǎn)生更新事件時該位由硬件置1,由軟件清0

7.2.6 計(jì)數(shù)器:TIMx_CNT

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT[15:0]

Bit 15~Bit 0:計(jì)數(shù)器的值

7.3 定時器例程

利用定時器1實(shí)現(xiàn)LED以1Hz閃爍,LED接在PA1上。

(1)創(chuàng)建TIM1驅(qū)動文件,tim.c和tim.h,并將文件添加進(jìn)工程。

圖片

(2)在寄存器文件中添加定義如下圖所示。

添加定時器地址

圖片

添加定時器結(jié)構(gòu)體映射

圖片

(3)tim.h寫入如下圖所示代碼

圖片

(4)tim.c寫入如下所示代碼

#include "tim.h"
/***************************************************
Name    :TIM7_IRQHandler
Function    :TIM7中斷服務(wù)函數(shù)
Paramater  :None
Return    :None
***************************************************/
u8 TIM1_Count ;
void TIM1_UP_IRQHandler()
{
  if( ( TIM1->SR&0x01 )==0x01 )
  {
    TIM1_Count ++ ;
    if( TIM1_Count==1 )
      LED = 0 ;
    else if( TIM1_Count==2 )
    {
      LED = 1 ;
      TIM1_Count = 0 ;
    }
  }
  TIM1->SR &= ~( 1<<0 ) ;
}
/***************************************************
Name    :TIM7_Init
Function    :TIM7初始化
Paramater  :
      psc:預(yù)分頻系數(shù)
      arr:重裝載值
Return    :None
***************************************************/
void TIM1_Init( u16 psc, u16 arr )
{
  //LED初始化
  RCC->APB2ENR |= 1<<2 ;
  GPIOA->CRL &= 0xFFFFFF0F ;
  GPIOA->CRL |= 0x00000030 ;
  LED = 1 ;
  //定時器初始化
  RCC->APB2ENR |= 1<<11 ;
  TIM1->DIER |= 1<<0 ;
  TIM1->PSC = psc ;
  TIM1->ARR = arr ;
  TIM1->CR1 |= 1<<0 ;
  NVIC_Init( 3, 2, TIM1_UP_IRQn, 2 ) ;
  }

(5)主函數(shù)編寫如下所示代碼

圖片

7.4 軟件仿真截圖

圖片

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

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    356005
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3248

    瀏覽量

    114800
  • TIMER1
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    1983
收藏 人收藏

    評論

    相關(guān)推薦

    555定時器實(shí)驗(yàn)

    555定時器實(shí)驗(yàn)①熟悉555定時器電路的工作原理 ②掌握用555定時器構(gòu)成的單穩(wěn)態(tài)觸發(fā)及施密特觸   發(fā)
    發(fā)表于 03-18 21:14

    CPU 定時器實(shí)驗(yàn)

    CPU 定時器實(shí)驗(yàn)
    發(fā)表于 01-08 10:45

    定時器實(shí)驗(yàn)

    定時器實(shí)驗(yàn):透過配置定時器相關(guān)寄存的配置,實(shí)現(xiàn)定時器2每1S中斷一次,通過數(shù)碼管將時間實(shí)時的顯示出來。用到的函數(shù)功能如下:(1) 利用TI
    發(fā)表于 08-19 07:22

    STM32CubeMX FreeRTOS的軟件定時器如何實(shí)驗(yàn)

    STM32CubeMX FreeRTOS的軟件定時器如何實(shí)驗(yàn)
    發(fā)表于 10-13 08:29

    定時器實(shí)驗(yàn)

    定時器實(shí)驗(yàn) 一.實(shí)驗(yàn)目的本程序展示了Small RTOS51 中使用一個任
    發(fā)表于 09-26 17:44 ?1341次閱讀
    軟<b class='flag-5'>定時器</b><b class='flag-5'>實(shí)驗(yàn)</b>

    定時器實(shí)驗(yàn)

    實(shí)驗(yàn)  定時器實(shí)驗(yàn) 一.實(shí)驗(yàn)目的1.學(xué)習(xí)8051內(nèi)部定時器/計(jì)數(shù)的使用和編程方
    發(fā)表于 05-17 10:57 ?4326次閱讀
    <b class='flag-5'>定時器</b><b class='flag-5'>實(shí)驗(yàn)</b>

    CPU定時器實(shí)驗(yàn)

    實(shí)驗(yàn)三CPU定時器實(shí)驗(yàn)實(shí)驗(yàn)三CPU定時器實(shí)驗(yàn)實(shí)驗(yàn)三C
    發(fā)表于 01-07 17:31 ?2次下載

    實(shí)驗(yàn)五 TIM定時器實(shí)驗(yàn)

    嵌入式TIM定時器實(shí)驗(yàn)
    發(fā)表于 12-17 20:48 ?7次下載

    555定時器實(shí)驗(yàn)的仿真電路圖免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是555定時器實(shí)驗(yàn)的仿真電路圖免費(fèi)下載。
    發(fā)表于 03-20 16:38 ?77次下載
    555<b class='flag-5'>定時器</b><b class='flag-5'>實(shí)驗(yàn)</b>的仿真電路圖免費(fèi)下載

    使用STM32F103單片機(jī)實(shí)現(xiàn)定時器實(shí)驗(yàn)的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STM32F103單片機(jī)實(shí)現(xiàn)定時器實(shí)驗(yàn)的詳細(xì)資料說明。
    發(fā)表于 04-07 08:00 ?5次下載
    使用STM32F103單片機(jī)實(shí)現(xiàn)<b class='flag-5'>定時器</b><b class='flag-5'>實(shí)驗(yàn)</b>的詳細(xì)資料說明

    555定時器的應(yīng)用實(shí)驗(yàn)程序和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是555定時器的應(yīng)用實(shí)驗(yàn)程序和工程文件免費(fèi)下載。
    發(fā)表于 09-02 16:00 ?11次下載
    555<b class='flag-5'>定時器</b>的應(yīng)用<b class='flag-5'>實(shí)驗(yàn)</b>程序和工程文件免費(fèi)下載

    定時器實(shí)驗(yàn)的程序和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是定時器實(shí)驗(yàn)的程序和工程文件免費(fèi)下載。
    發(fā)表于 03-05 16:34 ?6次下載

    定時器實(shí)驗(yàn)

    定時器實(shí)驗(yàn)兩個數(shù)碼管,K1,K2兩個按鍵,完成K1啟動計(jì)數(shù),K2暫停計(jì)數(shù),每一秒鐘數(shù)碼管增加1,60秒鐘后,蜂鳴器響一聲,數(shù)碼管回歸0,重新計(jì)數(shù)。代碼 #include"
    發(fā)表于 11-23 17:51 ?0次下載
    <b class='flag-5'>定時器</b><b class='flag-5'>實(shí)驗(yàn)</b>

    實(shí)驗(yàn)三 、通用定時器實(shí)驗(yàn)

    實(shí)驗(yàn)三 、通用定時器實(shí)驗(yàn)?自律 學(xué)習(xí) 堅(jiān)強(qiáng) ,拒絕迷茫。作者:行走的皮卡丘時間:2021/4/4喜歡就去追,這個紅燈等不到,說不定下一個紅燈等到了,嘻嘻!!!!!!!文章目錄實(shí)驗(yàn)
    發(fā)表于 11-23 18:21 ?3次下載
    <b class='flag-5'>實(shí)驗(yàn)</b>三 、通用<b class='flag-5'>定時器</b><b class='flag-5'>實(shí)驗(yàn)</b>

    基于STM32的定時器實(shí)驗(yàn)分享

    基于STM32的定時器實(shí)驗(yàn)分資料分享。
    發(fā)表于 05-24 15:51 ?1次下載
    主站蜘蛛池模板: 女人色视频| 91精品国产免费久久久久久青草| 在线免费国产| 国产成人1024精品免费| 伊人久久大香线蕉综合7| 欧洲无线区一二区| 天天草夜夜爽| 日本一区不卡视频| 欧美在线观看www| 天天色综合4| 啪啪调教所29下拉式免费阅读| 日本黄色免费大片| 天天色天天草| 九九九精品午夜在线观看| 你懂的国产| 久久狠狠躁免费观看| 中文三级视频| 国产精品一级毛片不收费| 中文字幕在线观看亚洲| 天堂成人在线观看| 香蕉免费在线视频| 男男宿舍高h炒肉bl| 玖玖玖精品视频免费播放| 国产午夜视频在线观看第四页| 亚洲国产精品综合久久2007| www在线播放| 特黄aa级毛片免费视频播放| 欧美成人午夜不卡在线视频| 日本三级456| 亚洲成在人| 午夜视频一区| 国产2021成人精品| 第四色播日韩第一页| 中文字幕一二三区| 女人色视频| 2020天天操| 日本精品高清一区二区2021| 久久狠狠第一麻豆婷婷天天| 亚洲第一精品夜夜躁人人爽| 午夜在线视频免费观看| 不卡视频免费在线观看|