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

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

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

3天內不再提示

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

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

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

01TIM6和TIM7簡介

基本定時器TIM6和TIM7各包含一個16位自動裝載計數器,由各自的可編程預分頻器驅動。這2個定時器是互相獨立的,不共享任何資源。

02主要特性

TIM6和TIM7定時器的主要功能包括:

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

①16位自動重裝載累加計數器;

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

③在更新事件(計數器溢出)時產生中斷/DMA請求。

03功能

這個可編程定時器的主要部分是一個帶有自動重裝載的16位累加計數器,計數器的時鐘通過一個預分頻器得到。

軟件可以讀寫計數器、自動重裝載寄存器和預分頻寄存器,即使計數器運行時也可以操作。

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

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

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

當TIMx_CR1寄存器的UDIS位為’0’,則每當計數器達到溢出值時,硬件發出更新事件;軟件也可以產生更新事件。

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

計數器由預分頻輸出CK_CNT驅動,設置TIMx_CR1寄存器中的計數器使能位(CEN)使能計數器計數。

ENTER TITLE預分頻器(Prescaler description)

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

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

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

預分頻系數從1變到2的計數器時序圖

ENTER TITLE計數模式

計數器從0累加計數到自動重裝載數值(TIMx_ARR寄存器),然后重新從0開始計數并產生一個計數器溢出事件。

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

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

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

當發生一次更新事件時,所有寄存器會被更新并(根據URS位)設置更新標志(TIMx_SR寄存器的UIF位):

● 傳送預裝載值(TIMx_PSC寄存器的內容)至預分頻器的緩沖區。

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

以下是一些在TIMx_ARR=0x36時不同時鐘頻率下計數器工作的圖示例子。

計數器時序圖:

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

內部時鐘分頻系數為1

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

內部時鐘分頻系數為2

ENTER TITLE時鐘源

計數器的時鐘由內部時鐘(CK_INT)提供。

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

ENTER TITLE調試模式

微控制器進入調試模式(Cortex-M3核心停止)時,根據DBG模塊中的配置位DBG_TIMx_STOP 的設置,TIMx計數器或者繼續計數或者停止工作。

審核編輯 :李倩

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

    關注

    31

    文章

    5419

    瀏覽量

    123237
  • 計數器
    +關注

    關注

    32

    文章

    2284

    瀏覽量

    96007
  • 定時器
    +關注

    關注

    23

    文章

    3287

    瀏覽量

    117124

原文標題:基于Stm32F030的基礎定時器(Basic timer)學習筆記1

文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機匠人】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    comp輸出用于tim1剎車,消隱源和pwm輸出是不是得是同一個TIM呢?

    那不是一個定時器的話 怎么能保證COMP1的消隱觸發同步呢?假設pwm輸出是tim1_ch2,那么我消隱源可以選tim4_oc3?是不是tim1_oc5跟合理?
    發表于 05-14 08:14

    一文讀懂熱界面材料:TIM1與TIM2的奇妙世界

    TIM1:芯片的“貼身保鏢”2025ThermalLink在熱界面材料的世界里,TIM1堪稱芯片的“貼身保鏢”。它通常緊緊地貼附在芯片(如CPU、GPU等核心芯片)與均熱板(IHS)之間,就像給芯片
    的頭像 發表于 05-11 06:41 ?202次閱讀
    一文讀懂熱界面材料:<b class='flag-5'>TIM</b>1與<b class='flag-5'>TIM</b>2的奇妙世界

    TIM2輸入捕獲,DMA開啟中斷傳輸輸入捕獲數據,程序跑的過程中,DMA一直中斷,TIM6只觸發一次中斷,怎么解決?

    TIM2捕獲輸入的數據,并且通過DMA存儲,在開啟DMA中斷同時,TIM6中斷也開啟(用于計時)。但是程序跑的過程中,DMA一直中斷,TIM6只觸發一次中斷。
    發表于 03-14 06:39

    stm32同一個定時器不同的通道,可以不同時的輸出pwm波形嗎?

    請問,stm32的同一個定時器,不同的通道,可以不同時的輸出pwm波形嗎?比如tim1的ch1輸出,延時幾毫秒后tim1的ch2輸出。 現在是要輸出兩個相位不同的pwm波形,延時時間、頻率、占空比
    發表于 03-07 08:20

    為什么Tim2自動裝載定時的首次中斷時間總是設定時間的2倍?

    為何Tim2自動裝載定時的首次中斷時間總是設定時間的2倍?而后續中斷均正常。反復修改了Tim2->CR1中各控制位也沒解決。
    發表于 03-07 06:23

    使用STM32F1輸入捕獲功能時,TIM6TIM7無法實現輸入捕獲是哪里的問題?

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

    在rtthread啟動函數中調用HAL_Dealy()導致卡死的原因?

    TIM6定時器中斷根本進不去,其計數變量自然也不會增加,可是將初始化都放到啟動調度之后,也就是main()就一切正常,所以還是不推薦都放入rt_hw_board_init()中。 具體什么原因并不知道
    發表于 09-27 06:42

    使用如下定時器配置PWM,直接卡死了是什么原因呢?

    請教各位大牛一個問題,卡住我幾天了。我使用如下定時器配置PWM,如下示: PA6 -> PWM0 tim1_cha(4) PA7 -> PWM1
    發表于 09-27 06:21

    STM32CUBEMX(5)--自定義紅外NEC解碼,定時器TIM捕獲方式

    */ HAL_TIM_Base_Start_IT(&htim1);//啟動定時器 HAL_TIM_IC_Start_IT(&htim1,TIM_CHANNEL_2
    發表于 09-05 16:19

    GD32E230C8T6高級定時器timer0無法正常輸出PWM波形的原因?

    原本想用高級定時器的中央對齊計數模式來輸出SPWM波,但是TIMER0的CH0,CH1等口,都無法正常輸出PWM波形,換成普通定時器就可以了,STM32里對于高級定時器輸出PWM波形,
    發表于 07-26 06:34

    MM32SPIN系統單片機高級定時器輸入捕獲沒辦法進入TIM_CC_IRQH中斷的原因?

    MM32SPIN系統單片機高級定時器輸入捕獲沒辦法進入TIM_CC_IRQH中斷void Remote_1(void) { GPIO_InitTypeDef GPIO_InitStructure
    發表于 07-26 06:33

    stm32f103vct6的高級定時器按通用定時器設置的,為什么沒有輸出?

    用的是Tim8,本來想用tim2作為主定時器控制tim8輸出的,結果就算我把主從去掉了也輸出不了,只看到高電平 用的是老代碼,標準庫,不知道之前也不習慣用高級
    發表于 07-23 07:58

    STM32G4系列芯片定時器的延時輸出問題

    有人使用STM32G4系列芯片內部的多個定時器做PWM輸出,輸出頻率一樣,占空比也一樣,均為50%。可是,當他中途調整各個定時器以相同的工作參數,即改變ARR的值和CCR值后,會發現TIM2和
    的頭像 發表于 07-01 09:45 ?2452次閱讀
    STM32G4系列芯片<b class='flag-5'>定時器</b>的延時輸出問題

    鴻蒙開發系統基礎能力:Timer定時器

    設置一個定時器,該定時器定時器到期后執行一個函數。
    的頭像 發表于 06-28 11:33 ?1348次閱讀
    鴻蒙開發系統基礎能力:<b class='flag-5'>Timer</b><b class='flag-5'>定時器</b>

    定時器做PWM輸出時,定時器回調函數只能執行一次,是什么原因?

    定時器做PWM輸出時,初始化定時器時執行HAL_TIM_PWM_Init( TIM1_Handler);時進入回調函數里初始化GPIO引腳;如果需要再重新初始化一次
    發表于 05-30 07:15