娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月21日(星期六)

2019年06月21日 | STM32 HAL庫學習系列第7篇---定時器TIM 輸入捕獲功能

發布者:明石軒 來源: eefocus關鍵字:STM32  HAL庫  定時器  TIM  輸入捕獲功能 手機看文章 掃描二維碼
隨時隨地手機看文章

基本方法


1.設置TIM2 CH1為輸入捕獲功能; 


2.設置上升沿捕獲; 


3.使能TIM2 CH1捕獲功能; 


4.捕獲到上升沿后,存入capture_buf[0],改為捕獲下降沿;


 5.捕獲到下降沿后,存入capture_buf[1],改為捕獲上升沿; 


6.捕獲到上升沿后,存入capture_buf[2],關閉TIM2 CH1捕獲功能; 


7.計算:capture_buf[2] - capture_buf[0]就是周期,capture_buf[1] - capture_buf[0]就是高電平所占時間。


時鐘配置:

引腳看是否需要上拉

做項目中的一個例子:


/**

  * 函數功能: TIM_IC配置

  * 輸入參數: value

  * 返 回 值: 無

  * 說    明: 無

  */

void user_ic_config(uint16_t value)

{

    TIM_IC_InitTypeDef sConfigIC;

    if(value != 0)  //1

    {

        sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;//上升沿

    }

    else//0

    {

        sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_FALLING; //下降沿

    }

    sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;

    sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;

    sConfigIC.ICFilter = 0;

    HAL_TIM_IC_ConfigChannel(&htim2, &sConfigIC, TIM_CHANNEL_1);

}

 

/**

  * 函數功能: TIM_IC回調函數

  * 輸入參數: htim

  * 返 回 值: 無

  * 說    明: 得到轉速

  */

void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)

{

    static uint32_t uwICValue;

    static uint32_t last_uwICValue;

    uint32_t uwDiffCapture;

 

    if ( ((htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3)||(htim->Channel== HAL_TIM_ACTIVE_CHANNEL_4)) && (htim->Instance == TIM3) )

    {

        pulseCntr++;

        last_uwICValue = uwICValue;

        uwICValue = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_3);

        if(HAL_TIM_IC_Start_IT(htim, TIM_CHANNEL_3) != HAL_OK)   //開啟定時器中斷

        {

            

            

        }

 

        if (uwICValue > last_uwICValue)

        {

            uwDiffCapture = (uwICValue - last_uwICValue);    //脈沖寬度為前后兩個周期相減

        }

        else if (uwICValue < last_uwICValue)   //若超值

        {

            /* 0xFFFF is max TIM2_CCRx value */

            uwDiffCapture = ((0xFFFF - last_uwICValue) + uwICValue) + 1; 

        }

        if(uwDiffCapture < 0x10000)

        {

            middleCapture = uwDiffCapture;   //脈沖寬度

        }

        pulsein_flag = 1;  // 捕捉到標記

    }

    else if ( (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1) && (htim->Instance == TIM2) )

    {

        if(uhCaptureIndex == 0)

    {

            // 第一個脈沖,檢測的是上升沿

      uwIC2Value1 = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1);

      uhCaptureIndex = 1; 

            user_ic_config(0);  //下降

            if(HAL_TIM_IC_Start_IT(htim, TIM_CHANNEL_1) != HAL_OK)   //中斷

          {

          }

    }

    else if(uhCaptureIndex == 1)

    {

            uwIC2Value2 = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1);

            uhCaptureIndex = 0;

            user_ic_config(1);//上升

            if(HAL_TIM_IC_Start_IT(htim, TIM_CHANNEL_1) != HAL_OK)

            {

            }

 

            /* Capture computation */

            if (uwIC2Value2 > uwIC2Value1)

            {

                uwDiffCapture = (uwIC2Value2 - uwIC2Value1);  //脈沖寬度

            }

            else if (uwIC2Value2 < uwIC2Value1)

            {

                /* 0xFFFF is max TIM2_CCRx value */

                uwDiffCapture = ((40000 - uwIC2Value1) + uwIC2Value2) + 1;

            }

 

            RCin = uwDiffCapture/2;   //刪除

        }

  }

}


關鍵字:STM32  HAL庫  定時器  TIM  輸入捕獲功能 引用地址:STM32 HAL庫學習系列第7篇---定時器TIM 輸入捕獲功能

上一篇:STM32CubeMX學習筆記——STM32H743通用定時器
下一篇:基于STM32CubeMX的LL庫學習記錄(六)TIM1定時器設置

推薦閱讀

上個月底小米正式發布了小米手環3,采用了新型柔軟親膚材料,支持NFC。現在最新消息,小米手環3首次更新,加入“手機靜音”功能。??據消息了解,通過小米手環官微宣布:“小米手環3迎來首次功能更新,手機靜音了解一下?”意味著,可以針對特殊場合情況下,通過手環操作進行對手機開啟靜音模式。不過,官方還表示這功能僅限Android手機。?小米手環3外觀...
bsp_i2c_gpio.h#ifndef _BSP_I2C_GPIO_H#define _BSP_I2C_GPIO_H#include "stm32f4xx.h"#include <inttypes.h>#define EEPROM_I2C_WR 0 /* 寫控制bit */#define EEPROM_I2C_RD 1 /* 讀控制bit *//* 定義I2C總線連接的GPIO端口,用戶只需要修改下面四行代碼即可任意改變SCL和SDA的引腳 */#define EEPROM_I2C_GPIO_POR...
環境MPLAB X IDE版本:v5.10編譯器:xc16-gcc v1.20 解決方法1、打開菜單 文件項目屬性,彈出項目屬性對話框。點擊 PICkit 3,選擇下拉框Firmware,去掉Use Latest Firmware單選框后的勾。
  1、 SYSCLK時鐘源有三個來源:HSI RC、HSE OSC、PLL;     2、 MCO[2:0]可以提供4源不同的時鐘同步信號;  3、 GPIO口貌似有兩個反向串聯的二極管用作鉗位二極管;  4、 總線矩陣采用輪換算法對系統總線和DMA進行仲裁  5、 ICode總線,DCode總線、系統總線、DMA總線、總線矩陣、AHB/APB橋  6、在使用一個外設之前,必須設置寄存器RCC...

史海拾趣

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 泰顺县| 綦江县| 玉门市| 英山县| 泊头市| 滕州市| 宁阳县| 延津县| 竹溪县| 诏安县| 三门峡市| 华宁县| 三江| 罗江县| 革吉县| 横山县| 峨山| 莎车县| 紫阳县| 云阳县| 德化县| 左权县| 申扎县| 台江县| 色达县| 遂平县| 山西省| 塔城市| 博白县| 蓝田县| 大方县| 建始县| 台州市| 南乐县| 天祝| 琼结县| 横峰县| 无锡市| 博湖县| 资溪县| 高雄县|