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

STM32—TIM:基本定時(shí)器(輸入捕獲:測頻率、周期)(標(biāo)準(zhǔn)庫)

這篇具有很好參考價(jià)值的文章主要介紹了STM32—TIM:基本定時(shí)器(輸入捕獲:測頻率、周期)(標(biāo)準(zhǔn)庫)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

stm32輸入捕獲測頻率,STM32(標(biāo)準(zhǔn)庫),stm32

?頻率測量:
stm32輸入捕獲測頻率,STM32(標(biāo)準(zhǔn)庫),stm32

?頻率>中界頻率:適用測周法? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 頻率<中界頻率:適用測頻法

第一步:配置GPIO,TIM的時(shí)基單元
? ? ? ? ? ? ?在配置TIM的時(shí)基單元參數(shù)有些許不同。

	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
	TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
	TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
	TIM_TimeBaseInitStructure.TIM_Period = 65536 - 1;		//ARR
	TIM_TimeBaseInitStructure.TIM_Prescaler = 72 - 1;		//PSC
	TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;


	TIM_TimeBaseInit(TIM3, &TIM_TimeBaseInitStructure);



    TIM_TimeBaseInitStructure.TIM_Period = 65536 - 1;		//ARR
    
    以最大量程計(jì)數(shù),防止計(jì)數(shù)溢出




    TIM_TimeBaseInitStructure.TIM_Prescaler = 72 - 1;		//PSC 

    這個(gè)決定計(jì)數(shù)頻率:72M/PSC,這里取72-1,則計(jì)數(shù)頻率就1MHZ

    最低頻率:1MHZ/65535 = 15HZ  所以最低頻率由PSC決定


初始化輸入捕獲單元:void TIM_ICInit();
?

/**
  * @brief  Initializes the TIM peripheral according to the specified
  *         parameters in the TIM_ICInitStruct.
  * @param  TIMx: where x can be  1 to 17 except 6 and 7 to select the TIM peripheral.
  * @param  TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure
  *         that contains the configuration information for the specified TIM peripheral.
  * @retval None
  */
void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct)
{
  ......
}


   參數(shù)講解

	TIM_ICInitStructure.TIM_Channel =          選擇通道

	TIM_ICInitStructure.TIM_ICFilter =         選擇濾波器

	TIM_ICInitStructure.TIM_ICPolarity =       選擇觸發(fā)極性

	TIM_ICInitStructure.TIM_ICPrescaler =      選擇分頻系數(shù)

	TIM_ICInitStructure.TIM_ICSelection =      選擇觸發(fā)信號的輸入端      

配置觸發(fā)源:void TIM_SelectInputTrigger()
?

/**
  * @brief  Selects the Input Trigger source
  * @param  TIMx: where x can be  1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral.
  * @param  TIM_InputTriggerSource: The Input Trigger source.
  *   This parameter can be one of the following values:
  *     @arg TIM_TS_ITR0: Internal Trigger 0
  *     @arg TIM_TS_ITR1: Internal Trigger 1
  *     @arg TIM_TS_ITR2: Internal Trigger 2
  *     @arg TIM_TS_ITR3: Internal Trigger 3
  *     @arg TIM_TS_TI1F_ED: TI1 Edge Detector
  *     @arg TIM_TS_TI1FP1: Filtered Timer Input 1
  *     @arg TIM_TS_TI2FP2: Filtered Timer Input 2
  *     @arg TIM_TS_ETRF: External Trigger input
  * @retval None
  */
void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource)
{
  ...........
}

選擇從模式:void TIM_SelectSlaveMode()
?

/**
  * @brief  Selects the TIMx Slave Mode.
  * @param  TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral.
  * @param  TIM_SlaveMode: specifies the Timer Slave Mode.
  *   This parameter can be one of the following values:
  *     @arg TIM_SlaveMode_Reset: Rising edge of the selected trigger signal (TRGI) re-initializes
  *                               the counter and triggers an update of the registers.
  *     @arg TIM_SlaveMode_Gated:     The counter clock is enabled when the trigger signal (TRGI) is high.
  *     @arg TIM_SlaveMode_Trigger:   The counter starts at a rising edge of the trigger TRGI.
  *     @arg TIM_SlaveMode_External1: Rising edges of the selected trigger (TRGI) clock the counter.
  * @retval None
  */
void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode)
{
  .............
}

使能定時(shí)器:void TIM_Cmd();
?

/**
  * @brief  Enables or disables the specified TIM peripheral.
  * @param  TIMx: where x can be 1 to 17 to select the TIMx peripheral.
  * @param  NewState: new state of the TIMx peripheral.
  *   This parameter can be: ENABLE or DISABLE.
  * @retval None
  */
void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState)
{
  ............
}

那么,怎么獲取周期呢:根據(jù)測周法:fx = fc / N??
?

根據(jù)測周法:fx = fc / N

fc  為標(biāo)準(zhǔn)頻率  根據(jù)PSC的配置 fc = 1MHZ


 則 N 等于輸入捕獲的值: TIM_GetCapture1()、 TIM_GetCapture2()、 TIM_GetCapture3()、 
                        TIM_GetCapture4()、

/**
  * @brief  Gets the TIMx Input Capture 2 value.
  * @param  TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral.
  * @retval Capture Compare 1 Register value.
  */
uint16_t TIM_GetCapture1(TIM_TypeDef* TIMx)
{
  ..............
}


如何測占空比?只需要將CH2通道配置成相反的的數(shù)

然后 Duty = CCR(CH2)/CCR(CH1)  or  CCR(CH1)/CCR(CH2) 

其他函數(shù):void TIM_PWMIConfig();文章來源地址http://www.zghlxwxcb.cn/news/detail-645275.html

/**
  * @brief  Configures the TIM peripheral according to the specified
  *         parameters in the TIM_ICInitStruct to measure an external PWM signal.
  * @param  TIMx: where x can be  1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral.
  * @param  TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure
  *         that contains the configuration information for the specified TIM peripheral.
  * @retval None
  */
void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct)
{
.........................
}



將通道CH1和CH2配置成相反的參數(shù),不支持CH3,和CH4

快速配置成PWMI的標(biāo)準(zhǔn)模型

到了這里,關(guān)于STM32—TIM:基本定時(shí)器(輸入捕獲:測頻率、周期)(標(biāo)準(zhǔn)庫)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • STM32 CubeMX學(xué)習(xí)實(shí)驗(yàn)13:定時(shí)器輸入捕獲獲取PWM頻率

    STM32 CubeMX學(xué)習(xí)實(shí)驗(yàn)13:定時(shí)器輸入捕獲獲取PWM頻率

    使用定時(shí)器5作為輸入捕獲定時(shí)器,將通道1(PA0)設(shè)置為輸入捕獲,設(shè)置預(yù)分頻器和計(jì)數(shù)值,這里設(shè)置為1us計(jì)數(shù)一次,最大可以捕獲周期為0xFFFFFFFFus的PWM,所以一般不需要考慮溢出的問題,使能自動(dòng)重裝載。 使能定時(shí)器中斷,選擇合適的優(yōu)先級,? ?將引腳設(shè)置下拉,保證沒

    2024年03月14日
    瀏覽(19)
  • STM32筆記——定時(shí)器輸入捕獲功能(測量PWM的頻率和占空比)

    STM32筆記——定時(shí)器輸入捕獲功能(測量PWM的頻率和占空比)

    目錄 一、概述 二、輸入捕獲功能 2.1 輸入捕獲簡介 2.2 輸入捕獲通道? 三、輸入捕獲功能測量PWM波的頻率和占空比 3.1 測量頻率的方法 3.2 測量過程 ? ? ? ? 主要介紹通用定時(shí)器的輸入捕獲功能,輸入信號由GPIO口進(jìn)入輸入捕獲通道,之后輸入部分對相應(yīng)的TIx輸入信號采樣,并

    2024年02月06日
    瀏覽(44)
  • 【單片機(jī)】STM32單片機(jī),定時(shí)器的輸入捕獲,基于捕獲的頻率計(jì),STM32F103

    【單片機(jī)】STM32單片機(jī),定時(shí)器的輸入捕獲,基于捕獲的頻率計(jì),STM32F103

    下面的定時(shí)器都具有輸入捕獲能力: 查看另一篇文章:https://qq742971636.blog.csdn.net/article/details/131471539 外部計(jì)數(shù)頻率計(jì)的缺點(diǎn):需要兩個(gè)定時(shí)器配合,最高能測量的頻率是否有限制我沒具體嘗試。 基于捕獲的頻率計(jì)的缺點(diǎn):最高能測量的頻率有限制。 TIM3_CH1 PWM PA6 10KHZ。 輸入

    2024年02月14日
    瀏覽(27)
  • 基于HAL庫的STM32的單定時(shí)器的多路輸入捕獲測量脈沖頻率(外部時(shí)鐘實(shí)現(xiàn))

    基于HAL庫的STM32的單定時(shí)器的多路輸入捕獲測量脈沖頻率(外部時(shí)鐘實(shí)現(xiàn))

    目錄 寫在前面 一般的做法(定時(shí)器單通道輸入捕獲) 以外部時(shí)鐘的方式(高低頻都適用) 測試效果 STM32的定時(shí)器本身有輸入捕獲的功能??蛇x擇雙端捕獲,上升沿捕獲或者是下降沿捕獲。對應(yīng)捕獲頻率來說,連續(xù)捕獲上升沿或下降沿的時(shí)間間隔就是其脈沖的周期. 定時(shí)器設(shè)置頻率

    2024年02月08日
    瀏覽(26)
  • 基于HAL庫的STM32單定時(shí)器多路輸入捕獲測量PWM的頻率和占空比實(shí)現(xiàn)(狀態(tài)機(jī)方式實(shí)現(xiàn))

    基于HAL庫的STM32單定時(shí)器多路輸入捕獲測量PWM的頻率和占空比實(shí)現(xiàn)(狀態(tài)機(jī)方式實(shí)現(xiàn))

    目錄 ?寫在前面 先回顧下定時(shí)器的單路捕獲PWM 多路捕獲PWM的頻率和占空比(狀態(tài)機(jī)實(shí)現(xiàn)) 我的思路: 狀態(tài)圖 配置 給出示例代碼 測試效果 ????????先有了這篇文章實(shí)現(xiàn)了單定時(shí)器的多通道測量頻率,以外部時(shí)鐘的方式可測量任意頻率的方波),奈何不能多路測試PWM波的頻率,

    2024年02月12日
    瀏覽(18)
  • 【STM32學(xué)習(xí)】——定時(shí)器輸入捕獲(IC)&PWMI模式&頻率測量方法&主從觸發(fā)模式&IC模式測頻&/PWMI模式測頻率及占空比

    聲明:學(xué)習(xí)筆記根據(jù)b站江科大自化協(xié)stm32入門教程編輯,僅供學(xué)習(xí)交流使用! 注意:讀完大約需要15分鐘,但會(huì)收獲滿滿??! 輸入捕獲部分一共兩個(gè)實(shí)操案例程序: 輸入捕獲模式測頻率、PWMI模式測頻率和占空比。 測頻法利用之前的外設(shè)就可實(shí)現(xiàn),如對射式紅外傳

    2024年02月16日
    瀏覽(28)
  • stm32---定時(shí)器輸入捕獲

    stm32---定時(shí)器輸入捕獲

    ????????在定時(shí)器中斷實(shí)驗(yàn)章節(jié)中我們介紹了通用定時(shí)器具有多種功能,輸入捕獲就是其中一種。 STM32F1除了基本定時(shí)器TIM6和TIM7,其他定時(shí)器都具有輸入捕獲功能 。輸入捕獲可以對輸入的信號的上升沿,下降沿或者雙邊沿進(jìn)行捕獲,通常用于測量輸入信號的脈寬、測量

    2024年01月19日
    瀏覽(20)
  • STM32定時(shí)器-輸入捕獲

    STM32定時(shí)器-輸入捕獲

    輸入捕獲工作過程 一句話總結(jié)工作過程:通過檢測TIMx_CHx上的邊沿信號,在邊沿信號發(fā)生跳變(比如上升沿/下降沿)的時(shí)候,將當(dāng)前定時(shí)器的值(TIMx_CNT)存放到對應(yīng)的捕獲/比較寄存器(TIMxCCRx)里面,完成一次捕獲。 步驟1:設(shè)置輸入捕獲濾波器(通道1為例) 輸入捕獲1濾

    2024年02月15日
    瀏覽(21)
  • STM32定時(shí)器(輸入捕獲)

    STM32定時(shí)器(輸入捕獲)

    ?上一章講了輸出比較的內(nèi)容,輸出比較就是定時(shí)器自增,同時(shí)和CCR比較,按照自己設(shè)置的比較要求,輸出REF高低電平,這一章我們講下面結(jié)構(gòu)圖輸出比較左邊部分,也就是 輸入捕獲 首先,介紹一下輸入捕獲 IC(input capture)輸入捕獲,輸入捕獲模式下,當(dāng)通道輸入引腳出現(xiàn)

    2024年02月09日
    瀏覽(20)
  • stm32 定時(shí)器輸入捕獲實(shí)驗(yàn)

    stm32 定時(shí)器輸入捕獲實(shí)驗(yàn)

    目錄 一,簡介 二,配置過程 ?一,設(shè)置輸入捕獲濾波器? 二,設(shè)置輸入極性 三,設(shè)置輸入捕獲映射通道 ?四,設(shè)置輸入捕獲分頻器 ?五,設(shè)置中斷? ?三,寄存器 四,庫函數(shù) 五,一般步驟? ?六,軟件部分 輸入捕獲模式可以用來測量脈沖寬度或者測量頻率 原理圖 如圖 ?

    2024年01月21日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包