国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32筆記----6、TIM定時(shí)器其他功能

這篇具有很好參考價(jià)值的文章主要介紹了STM32筆記----6、TIM定時(shí)器其他功能。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、TIM輸出比較

1.1 輸出比較簡(jiǎn)介

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

CCR(Capture Compare Register):輸出捕獲寄存器

1.2 PWM簡(jiǎn)介

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

使用PWM波形,可以在數(shù)字系統(tǒng)等效輸出模擬量。

1.3 輸出比較通道

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

上圖輸出比較通道(通用)相當(dāng)于下圖的紅框那部分電路:

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

輸出模式控制器見下表:STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

1.4 PWM基本結(jié)構(gòu)

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

藍(lán)色線:CNT值

黃色線:ARR值

紅色線:CCR值

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

PWM頻率等于計(jì)數(shù)器CNT更新頻率

1.5 初始化代碼

(1)開啟外部時(shí)鐘

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

(2)選擇時(shí)基單元的時(shí)鐘

TIM_InternalClockConfig(TIM2);

(3)配置時(shí)基單元

TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInitStructure.TIM_Period = 100 - 1;  //ARR
TIM_TimeBaseInitStructure.TIM_Prescaler = 720 - 1;  //PSC
TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);

(4)配置輸出比較單元

TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_OCStructInit(&TIM_OCInitStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = 50;     //CCR
TIM_OC1Init(TIM2, &TIM_OCInitStructure);

先給結(jié)構(gòu)體變量賦初始值,以防下次使用高級(jí)定時(shí)器時(shí),其他結(jié)構(gòu)體變量未賦值帶來的問題。

(5)配置GPIO

GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);

(6)配置運(yùn)行控制

TIM_Cmd(TIM2, ENABLE);

2、 TIM輸入捕獲

2.1 輸入捕獲簡(jiǎn)介

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

2.2 頻率測(cè)量

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

測(cè)頻法適合測(cè)量高頻信號(hào),更新慢(正常1s)

測(cè)周法適合測(cè)量低頻信號(hào),更新快(待測(cè)信號(hào)幾百幾千Hz)

2.3 輸入捕獲通道

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

TI1:就是CH1引腳

TI1F:濾波后的信號(hào)

fDTS:濾波器的采樣時(shí)鐘來源

CC1P:極性選擇

CC1S:對(duì)數(shù)據(jù)選擇器進(jìn)行選擇

ICPS:進(jìn)行分頻選擇

從模式控制器:里面有完成CNT清零的電路

2.4 主從觸發(fā)模式

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

主模式:可以將定時(shí)器內(nèi)部的信號(hào),映射到TRGO腳,用于觸發(fā)別的外設(shè)。

從模式:接收其他外設(shè)或者自身外設(shè)的一些信號(hào),用于控制自身定時(shí)器的運(yùn)行,即被別的信號(hào)控制。

觸發(fā)源選擇:選擇從模式的觸發(fā)信號(hào)源。

舉例:上述讓TI1FP1信號(hào)自動(dòng)觸發(fā)CNT清0,那觸發(fā)源選擇TI1FP1,從模式執(zhí)行Reset的操作。

2.5 輸入捕獲基本結(jié)構(gòu)

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

左上角:上升沿時(shí),CCR1=CNT,CNT轉(zhuǎn)運(yùn)到CCR里,這是輸入捕獲自動(dòng)執(zhí)行的。

CNT = 0,CNT清零,這是從模式自動(dòng)執(zhí)行的。

測(cè)周法:CNT在標(biāo)準(zhǔn)時(shí)鐘的驅(qū)動(dòng)下,不斷自增,由于之前清0過,CNT從上升沿開始,一直++,直到下個(gè)上升沿來臨。CCR1始終保持最新一個(gè)周期的計(jì)數(shù)值,即N。?

注意:

需要先轉(zhuǎn)運(yùn)CNT的值到CCR里去,再觸發(fā)從模式給CNT清零?;蛘叻亲枞耐瑫r(shí)轉(zhuǎn)移:CNT的值轉(zhuǎn)移到CCR,同時(shí)0轉(zhuǎn)移到CNT里去。CNT最大一般為65535,頻率過低可能導(dǎo)致溢出。

2.6 PWMI基本結(jié)構(gòu)

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

可以同時(shí)測(cè)量周期和占空比。

左上角:在下降沿觸發(fā)CCR2捕獲CNT的值,但不觸發(fā)CNT清零。

2.7 初始化代碼

(1)開啟外部時(shí)鐘

(2)配置GPIO

(3)選擇時(shí)基單元時(shí)鐘

(4)配置時(shí)基單元

(5)初始化輸入捕獲單元

TIM_ICInitTypeDef TIM_ICInitStructure;
TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;
TIM_ICInitStructure.TIM_ICFilter = TIM_ICFilter_0xF;
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;
TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPrescaler_DIV1;
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
TIM_ICInit(TIM3, &TIM_ICInitStructure);  //輸入捕獲模式使用
TIM_PWMIConfig(TIM3, ICInitStructure);   //PWMI模式使用

(6)配置TRGI的觸發(fā)源為TI1FP1

TIM_SelectInputTrigger(TIM3, TIM_TS_TI1FP1);

(7)配置從模式為reset

TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset);

(8)配置運(yùn)行控制

3、TIM編碼器接口

3.1 編碼器接口簡(jiǎn)介

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

工作流程:編碼器有兩個(gè)輸出:A相和B相。接入到STM32定時(shí)器的編碼器接口,編碼器接口自動(dòng)控制定時(shí)器時(shí)基單元中的CNT計(jì)數(shù)器,進(jìn)行自增或自減。即:編碼器右轉(zhuǎn),CNT++,右轉(zhuǎn)產(chǎn)生一個(gè)脈沖,CNT就+1。

編碼器測(cè)速實(shí)際上就是測(cè)頻法測(cè)正交脈沖的頻率。

3.2 正交編碼器

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

使用正交信號(hào),相比單獨(dú)定義一個(gè)方向引腳,有什么好處?

答:(1)正交信號(hào)精度更高,因?yàn)锳,B相都可以計(jì)次,相當(dāng)于計(jì)次頻率提高了一倍。

? ? ? ? (2)正交信號(hào)可以抗噪聲,因?yàn)檎恍盘?hào)兩個(gè)信號(hào)是交替跳變的。

編碼器的設(shè)計(jì)邏輯:首先把A相和B相的所有邊沿作為計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘,出現(xiàn)邊沿信號(hào)時(shí),就計(jì)數(shù)自增或自減,計(jì)數(shù)的方向由另一相的狀態(tài)來確定。正反轉(zhuǎn)由上表確定。

3.3 編碼器接口基本結(jié)構(gòu)

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

工作流程:輸入捕獲的前兩個(gè)通道,通過GPIO口接入編碼器的A、B相,通過濾波器,邊沿檢測(cè),極性選擇,產(chǎn)生TI1FP1和TI2FP2,通向編碼器接口。編碼器接口通過預(yù)分頻器控制CNT計(jì)數(shù)器的時(shí)鐘,同時(shí),編碼器接口還根據(jù)編碼器的旋轉(zhuǎn)方向,控制CNT的計(jì)數(shù)方向,編碼器正轉(zhuǎn)時(shí),CNT自增;編碼器反轉(zhuǎn)時(shí),CNT自減。一般會(huì)設(shè)置ARR為65535,最大量程。

3.4 工作模式

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

TI1FP1信號(hào)和TI2FP2信號(hào)接的是編碼器的A、B相。

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

STM32筆記----6、TIM定時(shí)器其他功能,stm32,筆記,c語言,單片機(jī)

3.5 初始化代碼

(1)開啟RCC外部時(shí)鐘,開啟GPIO 和定時(shí)器時(shí)鐘

(2)配置GPIO,將GPIO配置成輸入模式

(3)配置時(shí)基單元

(4)配置輸入捕獲單元

(5)配置編碼器接口模式

TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12, TIN_ICPolarity_Rising, TIN_ICPolarity_Rising);

(6)啟動(dòng)定時(shí)器文章來源地址http://www.zghlxwxcb.cn/news/detail-832754.html

到了這里,關(guān)于STM32筆記----6、TIM定時(shí)器其他功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【STM32】學(xué)習(xí)筆記(TIM定時(shí)器)-江科大

    【STM32】學(xué)習(xí)筆記(TIM定時(shí)器)-江科大

    定時(shí)器可以對(duì)輸入的時(shí)鐘進(jìn)行計(jì)數(shù),并在計(jì)數(shù)值達(dá)到設(shè)定值時(shí)觸發(fā)中斷 16位計(jì)數(shù)器、預(yù)分頻器、自動(dòng)重裝寄存器的時(shí)基單元,在72MHz計(jì)數(shù)時(shí)鐘下可以實(shí)現(xiàn)最大59.65s的定時(shí) 不僅具備基本的定時(shí)中斷功能,而且還包含內(nèi)外時(shí)鐘源選擇、輸入捕獲、輸出比較、編碼器接口、主從觸發(fā)

    2024年02月10日
    瀏覽(26)
  • 江科大stm32視頻學(xué)習(xí)筆記——TIM定時(shí)中斷&定時(shí)器外部時(shí)鐘

    江科大stm32視頻學(xué)習(xí)筆記——TIM定時(shí)中斷&定時(shí)器外部時(shí)鐘

    目錄 一、TIM(Timer)定時(shí)器簡(jiǎn)介 ?1.1 定時(shí)器類型 摘要 1.1.1 基本定時(shí)器 1.1.2 通用定時(shí)器 1.1.3 高級(jí)定時(shí)器? 1.2 定時(shí)中斷基本結(jié)構(gòu) 1.2.1 結(jié)構(gòu)框圖 1.2.2 時(shí)序圖 二、定時(shí)器定時(shí)中斷定時(shí)器外部時(shí)鐘 2.1 內(nèi)部時(shí)鐘鬧鐘代碼 2.1.1 Timer.c 2.1.2 Buzzer.c加入間隔發(fā)聲函數(shù) 2.1.3 main.c 2.1.4 實(shí)驗(yàn)視頻

    2024年01月23日
    瀏覽(55)
  • STM32學(xué)習(xí)筆記 & 通用定時(shí)器TIM3~TIM5 13

    STM32學(xué)習(xí)筆記 & 通用定時(shí)器TIM3~TIM5 13

    通用定時(shí)器是一個(gè)通過可編程預(yù)分頻器驅(qū)動(dòng)的 16 位自動(dòng)裝載計(jì)數(shù)器構(gòu)成。 它適用于多種場(chǎng)合,包括測(cè)量輸入信號(hào)的脈沖長(zhǎng)度 ( 輸入捕獲 ) 或者產(chǎn)生輸出波形 ( 輸出比較和PWM)。 使用定時(shí)器預(yù)分頻器和 RCC 時(shí)鐘控制器預(yù)分頻器,脈沖長(zhǎng)度和波形周期可以在幾個(gè)微秒到幾個(gè)毫秒間

    2024年02月05日
    瀏覽(19)
  • STM32學(xué)習(xí)筆記(四)丨TIM定時(shí)器及其應(yīng)用(定時(shí)中斷、內(nèi)外時(shí)鐘源選擇)

    STM32學(xué)習(xí)筆記(四)丨TIM定時(shí)器及其應(yīng)用(定時(shí)中斷、內(nèi)外時(shí)鐘源選擇)

    ???本次課程采用單片機(jī)型號(hào)為STM32F103C8T6。 ???課程鏈接:江科大自化協(xié) STM32入門教程 ??往期筆記鏈接: ??STM32學(xué)習(xí)筆記(一)丨建立工程丨GPIO 通用輸入輸出 ??STM32學(xué)習(xí)筆記(二)丨STM32程序調(diào)試丨OLED的使用 ??STM32學(xué)習(xí)筆記(三)丨中斷系統(tǒng)丨EXTI外部中斷

    2023年04月13日
    瀏覽(21)
  • STM32單片機(jī)入門學(xué)習(xí)筆記——定時(shí)器TIM第二部分

    STM32單片機(jī)入門學(xué)習(xí)筆記——定時(shí)器TIM第二部分

    筆記整理自B站UP主 江科大自化協(xié) 教程 《STM32入門教程-2023持續(xù)更新中》 ,所用單片機(jī)也為教程推薦單片機(jī)。 第一部分:定時(shí)器基本定時(shí)的功能,定時(shí)器每隔這個(gè)時(shí)間產(chǎn)生一個(gè)中斷,來實(shí)現(xiàn)每隔一個(gè)固定時(shí)間執(zhí)行一段程序的目的,比如要做一個(gè)時(shí)鐘、秒表或者使用一些程序算

    2024年02月08日
    瀏覽(21)
  • STM32單片機(jī)入門學(xué)習(xí)筆記——定時(shí)器TIM第一部分

    STM32單片機(jī)入門學(xué)習(xí)筆記——定時(shí)器TIM第一部分

    筆記整理自B站UP主 江科大自化協(xié) 教程 《STM32入門教程-2023持續(xù)更新中》 ,所用單片機(jī)也為教程推薦單片機(jī)。 第一部分:定時(shí)器基本定時(shí)的功能,定時(shí)器每隔這個(gè)時(shí)間產(chǎn)生一個(gè)中斷,來實(shí)現(xiàn)每隔一個(gè)固定時(shí)間執(zhí)行一段程序的目的,比如要做一個(gè)時(shí)鐘、秒表或者使用一些程序算

    2024年02月03日
    瀏覽(23)
  • TIM-定時(shí)器——STM32

    TIM-定時(shí)器——STM32

    TIM(Timer)定時(shí)器 定時(shí)器可以對(duì)輸入的時(shí)鐘進(jìn)行計(jì)數(shù),并在計(jì)數(shù)值達(dá)到設(shè)定值時(shí)觸發(fā)中斷 16位計(jì)數(shù)器、預(yù)分頻器、自動(dòng)重裝寄存器的時(shí)基單元,在72MHz計(jì)數(shù)時(shí)鐘下可以實(shí)現(xiàn)最大59.65s的定時(shí) 不僅具備基本的定時(shí)中斷功能,而且還包含內(nèi)外時(shí)鐘源選擇、輸入捕獲、輸出比較、編碼器

    2024年02月02日
    瀏覽(39)
  • STM32—定時(shí)器(TIM)_基本定時(shí)

    STM32—定時(shí)器(TIM)_基本定時(shí)

    本文主要通過介紹定時(shí)器基本結(jié)構(gòu)去學(xué)習(xí)如何使用定時(shí)器進(jìn)行定時(shí)。 定時(shí)器可以對(duì)輸入的時(shí)鐘進(jìn)行計(jì)數(shù),并在計(jì)數(shù)值達(dá)到設(shè)定值時(shí)觸發(fā)中斷,從而達(dá)到計(jì)時(shí)功能。 本文從通用定時(shí)器介紹。本文所使用芯片為 STM32F103C8T6,擁有TIM1-TIM4 四個(gè)定時(shí)器資源。 圖.2為基本定時(shí)器結(jié)構(gòu) ?

    2024年02月02日
    瀏覽(24)
  • STM-32:TIM定時(shí)中斷—定時(shí)器定時(shí)中斷/定時(shí)器外部時(shí)鐘

    STM-32:TIM定時(shí)中斷—定時(shí)器定時(shí)中斷/定時(shí)器外部時(shí)鐘

    定時(shí)器可以對(duì)輸入的時(shí)鐘進(jìn)行計(jì)數(shù),并在達(dá)到設(shè)定值時(shí)觸發(fā)中斷 16位計(jì)數(shù)器、預(yù)分頻器、自動(dòng)重裝寄存器的時(shí)基單元,在72MHz計(jì)數(shù)時(shí)鐘下可以實(shí)現(xiàn)最大59.65s的定時(shí) 不僅具備基本的定時(shí)中斷功能,而且還包含內(nèi)外時(shí)鐘源選擇、輸入捕獲、輸出比較、編碼器接口、主從觸發(fā)模式等

    2024年02月09日
    瀏覽(28)
  • STM32--TIM定時(shí)器(1)

    STM32--TIM定時(shí)器(1)

    STM32的TIM(定時(shí)器)是一種非常常用的外設(shè),用于實(shí)現(xiàn)各種定時(shí)和計(jì)數(shù)功能。 它是基于時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù),并在計(jì)數(shù)值達(dá)到設(shè)定值時(shí)觸發(fā)中斷,執(zhí)行相應(yīng)的操作 。 一般來說,STM32中有三類定時(shí)器: 在我們這款STM32F03C9T6有4種定時(shí)器資源: TIM1,TIM2,TIM3,TIM4 ; 對(duì)于定時(shí)器,類型越

    2024年02月12日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包