RM新时代网站-首页

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

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

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

基本定時(shí)器Basic timer (TIM6/TIM7)

單片機(jī)匠人 ? 來源:單片機(jī)匠人 ? 作者:單片機(jī)匠人 ? 2022-05-07 10:38 ? 次閱讀

ENTER TITLE基本定時(shí)器Basic timer (TIM6/TIM7)

01TIM6和TIM7簡介

基本定時(shí)器TIM6和TIM7各包含一個(gè)16位自動裝載計(jì)數(shù)器,由各自的可編程預(yù)分頻器驅(qū)動。這2個(gè)定時(shí)器是互相獨(dú)立的,不共享任何資源。

02主要特性

TIM6和TIM7定時(shí)器的主要功能包括:

5de7e006-cdae-11ec-bce3-dac502259ad0.png

①16位自動重裝載累加計(jì)數(shù)器;

②16位可編程(可實(shí)時(shí)修改)預(yù)分頻器,用于對輸入的時(shí)鐘按系數(shù)為1~65536之間的任意數(shù)值分頻器;

③在更新事件(計(jì)數(shù)器溢出)時(shí)產(chǎn)生中斷/DMA請求。

03功能

這個(gè)可編程定時(shí)器的主要部分是一個(gè)帶有自動重裝載的16位累加計(jì)數(shù)器,計(jì)數(shù)器的時(shí)鐘通過一個(gè)預(yù)分頻器得到。

軟件可以讀寫計(jì)數(shù)器、自動重裝載寄存器和預(yù)分頻寄存器,即使計(jì)數(shù)器運(yùn)行時(shí)也可以操作。

5e158f56-cdae-11ec-bce3-dac502259ad0.jpg

5e25b552-cdae-11ec-bce3-dac502259ad0.png

自動重裝載寄存器是預(yù)加載的,每次讀寫自動重裝載寄存器時(shí),實(shí)際上是通過讀寫預(yù)加載寄存器(Prescaler control register)實(shí)現(xiàn)。

當(dāng)TIMx_CR1寄存器的UDIS位為’0’,則每當(dāng)計(jì)數(shù)器達(dá)到溢出值時(shí),硬件發(fā)出更新事件;軟件也可以產(chǎn)生更新事件。

根據(jù)TIMx_CR1寄存器中的自動重裝載預(yù)加載使能位(ARPE),寫入預(yù)加載寄存器的內(nèi)容能夠立即或在每次更新事件時(shí),傳送到它的影子寄存器。

計(jì)數(shù)器由預(yù)分頻輸出CK_CNT驅(qū)動,設(shè)置TIMx_CR1寄存器中的計(jì)數(shù)器使能位(CEN)使能計(jì)數(shù)器計(jì)數(shù)。

ENTER TITLE預(yù)分頻器(Prescaler description)

預(yù)分頻可以以系數(shù)介于1至65536之間的任意數(shù)值對計(jì)數(shù)器時(shí)鐘分頻。它是通過一個(gè)16位寄存器 (TIMx_PSC)的計(jì)數(shù)實(shí)現(xiàn)分頻。因?yàn)門IMx_PSC控制寄存器具有緩沖,可以在運(yùn)行過程中改變它的數(shù)值,新的預(yù)分頻數(shù)值將在下一個(gè)更新事件時(shí)起作用。

5e158f56-cdae-11ec-bce3-dac502259ad0.jpg

5e25b552-cdae-11ec-bce3-dac502259ad0.png

預(yù)分頻系數(shù)從1變到2的計(jì)數(shù)器時(shí)序圖

ENTER TITLE計(jì)數(shù)模式

計(jì)數(shù)器從0累加計(jì)數(shù)到自動重裝載數(shù)值(TIMx_ARR寄存器),然后重新從0開始計(jì)數(shù)并產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件。

每次計(jì)數(shù)器溢出時(shí)可以產(chǎn)生更新事件;(通過軟件或使用從模式控制器)設(shè)置TIMx_EGR寄存器的 UG位也可以產(chǎn)生更新事件。

設(shè)置TIMx_CR1中的UDIS位可以禁止產(chǎn)生UEV事件,這可以避免在寫入預(yù)加載寄存器時(shí)更改影子寄存器。在清除UDIS位為’0’之前,將不再產(chǎn)生更新事件,但計(jì)數(shù)器和預(yù)分頻器依然會在應(yīng)產(chǎn)生更新事件時(shí)重新從0開始計(jì)數(shù)(但預(yù)分頻系數(shù)不變)。

另外,如果設(shè)置了TIMx_CR1寄存器中的 URS(選擇更新請求),設(shè)置UG位可以產(chǎn)生一次更新事件UEV,但不設(shè)置UIF標(biāo)志(即沒有中斷或 DMA請求)。

當(dāng)發(fā)生一次更新事件時(shí),所有寄存器會被更新并(根據(jù)URS位)設(shè)置更新標(biāo)志(TIMx_SR寄存器的UIF位):

● 傳送預(yù)裝載值(TIMx_PSC寄存器的內(nèi)容)至預(yù)分頻器的緩沖區(qū)。

● 自動重裝載影子寄存器被更新為預(yù)裝載值(TIMx_ARR)。

以下是一些在TIMx_ARR=0x36時(shí)不同時(shí)鐘頻率下計(jì)數(shù)器工作的圖示例子。

計(jì)數(shù)器時(shí)序圖:

5e58cec4-cdae-11ec-bce3-dac502259ad0.png

內(nèi)部時(shí)鐘分頻系數(shù)為1

5e6e3962-cdae-11ec-bce3-dac502259ad0.png

內(nèi)部時(shí)鐘分頻系數(shù)為2

ENTER TITLE時(shí)鐘源

計(jì)數(shù)器的時(shí)鐘由內(nèi)部時(shí)鐘(CK_INT)提供。

TIMx_CR1寄存器的CEN位和TIMx_EGR寄存器的UG位是實(shí)際的控制位,(除了UG位被自動清 除外)只能通過軟件改變它們。一旦置CEN位為’1’,內(nèi)部時(shí)鐘即向預(yù)分頻器提供時(shí)鐘。下圖示出控制電路和向上計(jì)數(shù)器在普通模式下,沒有預(yù)分頻器時(shí)的操作。

ENTER TITLE調(diào)試模式

當(dāng)微控制器進(jìn)入調(diào)試模式(Cortex-M3核心停止)時(shí),根據(jù)DBG模塊中的配置位DBG_TIMx_STOP 的設(shè)置,TIMx計(jì)數(shù)器或者繼續(xù)計(jì)數(shù)或者停止工作。

審核編輯 :李倩

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

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120230
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2256

    瀏覽量

    94476
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3246

    瀏覽量

    114715

原文標(biāo)題:基于Stm32F030的基礎(chǔ)定時(shí)器(Basic timer)學(xué)習(xí)筆記1

文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機(jī)匠人】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    使用STM32F1輸入捕獲功能時(shí),TIM6TIM7無法實(shí)現(xiàn)輸入捕獲是哪里的問題?

    使用STM32F1輸入捕獲功能時(shí),TIM6TIM7無法實(shí)現(xiàn)輸入捕獲,是芯片問題嗎?在配置STM32F1的TIM6TIM7定時(shí)器時(shí),發(fā)現(xiàn)無
    發(fā)表于 09-27 09:11

    STM32G030 TIM14,TIM16,TIM17無法觸發(fā)ADC采樣的原因?

    我查RM0444參考手冊里面,對于ADC外部觸發(fā)只有TIM1,TIM2,TIM3,TIM6,TIM15可以作為外部源觸發(fā)ADC,是否
    發(fā)表于 05-24 07:13

    請問STM8S105k4的TIM2_CH2通道可以配置出觸發(fā)TIM1定時(shí)器嗎?

    各位大神: 請問STM8S105k4的TIM2_CH2通道可以配置出觸發(fā)TIM1定時(shí)器嗎? 求救··· 操作寄存配置···
    發(fā)表于 05-13 06:43

    使用STM8L151F3P6編程,調(diào)用TIM4定時(shí)器不能進(jìn)入中斷怎么解決?

    使用TIM2和TIM3都很好用,但不夠用。使用TIM4定時(shí)器,用中斷服務(wù)程序來編寫一個(gè)軟件計(jì)數(shù)。不論如何初始化編程,
    發(fā)表于 04-19 06:00

    STM32F205使定時(shí)器8的TIM_DMA_Update事件循環(huán)觸發(fā)DMA2,dma不起作用是為什么?

    。 使用DMA2_Stream1_Channel7 ,在主程序中啟動這兩個(gè)函數(shù),配置DMA和TIM8,然后觀察test_data的值變?yōu)榱?x06030444, 延時(shí)一段時(shí)間后清零 test_data,定時(shí)器可以正常進(jìn)入中斷,但
    發(fā)表于 04-17 07:21

    定時(shí)器TIM2輸出TRGO信號,DMA使用DMA_REQUEST_TIM2_UP請求可以實(shí)現(xiàn)嗎?

    定時(shí)器TIM2輸出TRGO信號,DMA使用DMA_REQUEST_TIM2_UP請求可以實(shí)現(xiàn)嗎?
    發(fā)表于 04-10 07:09

    STM32通過DMA方式傳輸TIM3定時(shí)器計(jì)數(shù)值,數(shù)值重復(fù)是為什么?

    AD值防止數(shù)據(jù)錯(cuò)亂,故DMA配置必須放在ADC之前。) 因此為了排除相同原因?qū)е碌臄?shù)據(jù)重復(fù),所以將DMA配置放在TIM3定時(shí)器初始化之前。 結(jié)果反饋,TIM3計(jì)數(shù)數(shù)值重復(fù) 3.D
    發(fā)表于 04-10 06:50

    TIM6定時(shí)器不能進(jìn)入中斷怎么解決?

    AD轉(zhuǎn)換并使能DMA傳輸和中斷 HAL_TIM_Base_Start_IT( htim1); //初始化定時(shí)器中斷 HAL_TIM_Base_Start_IT( htim6); //初
    發(fā)表于 04-09 08:19

    STM207F TIM10和TIM9不能主從連接嗎?

    TIM10作為主定時(shí)器連接到從定時(shí)器TIM9上就是TIM9不計(jì)數(shù)? 將TIM10沒有 控制寄存
    發(fā)表于 04-09 06:16

    為什么STM32G030定時(shí)器TIM17定時(shí)器時(shí)鐘源是SYSCLK而不是TPCLK?

    TIM14時(shí)鐘源測試是來自TPCLK的。而且定時(shí)器的PSC寄存配置對實(shí)際頻率沒有影響
    發(fā)表于 04-01 06:06

    請問系統(tǒng)定時(shí)器TIM定時(shí)器有哪些區(qū)別?

    請問系統(tǒng)定時(shí)器TIM定時(shí)器有哪些區(qū)別
    發(fā)表于 03-20 07:40

    STM32L0采用tim6上升沿觸發(fā)使ADC采樣,把定時(shí)器頻率配為4K后,采樣周期不對,為什么?

    目前使用的是STM32L0系列芯片,采用tim6上升沿觸發(fā)使ADC采樣,但把定時(shí)器頻率配為4K后,采樣周期不對,首先想問tim6的時(shí)鐘源來自哪,其次是這個(gè)定時(shí)器頻率與采樣頻率的關(guān)系與計(jì)
    發(fā)表于 03-20 06:18

    STM32L053R8T6TR利用定時(shí)器觸發(fā)ADC采樣時(shí)選用tim6,為什么在cubenx中tim6無法選擇時(shí)鐘源?

    使用的是STM32L053R8T6TR,再利用定時(shí)器觸發(fā)ADC采樣時(shí)選用tim6,但在cubenx中tim6無法選擇時(shí)鐘源,那他的時(shí)鐘源在哪,而且單獨(dú)配置
    發(fā)表于 03-19 07:00

    stm32f10x高級定時(shí)器TIM1和通用定時(shí)器TIM2~TIM4如何同步作用?

    TIM2~TIM4我都用了,現(xiàn)在還需要用一個(gè)計(jì)時(shí),但是只要我在定時(shí)器初始化加上TIM1的初始化,還沒寫中斷函數(shù),其他程序就什么都運(yùn)行不了了
    發(fā)表于 03-19 06:26

    stm32f030c8的tim6tim15沒有響應(yīng)是為什么?

    stm32f030c8的芯片,tim6tim15沒有響應(yīng),其他的時(shí)鐘中斷都可以響應(yīng)。開發(fā)環(huán)境是STM32CubeMX_V6.8.1+Keil_V5.36,有哪位知道怎么解決。 原來
    發(fā)表于 03-18 07:24
    RM新时代网站-首页