亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

CW32定時(shí)器操作講解——輸入捕獲

jf_pJlTbmA9 ? 來源:武漢芯源半導(dǎo)體 ? 作者:武漢芯源半導(dǎo)體 ? 2023-09-27 16:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CW32系列MCU的GTIM、ATIM的每個(gè)定時(shí)器都帶有至少4路獨(dú)立的捕獲 / 比較通道,輸入捕獲功能可以測量輸入信號(hào)的脈沖寬度或者頻率。當(dāng)捕獲比較通道 CHy 上信號(hào)發(fā)生跳變(上升沿或下降沿)時(shí),硬件自動(dòng)將當(dāng)前計(jì)數(shù)寄存器 GTIMx_CNT 的值存放到對(duì)應(yīng)通道的比較捕獲寄存器 GTIMx_CCRy 中,完成一次捕獲。通過連續(xù)幾次捕獲即可完成信號(hào)脈沖寬度或者頻率的測量。

功能框圖如下圖所示:

wKgZomUDzUaAV_qQAABYvDx4qpM254.png

各個(gè)通道上觸發(fā)捕獲的條件由比較捕獲控制寄存器 GTIMx_CMMR 決定。

wKgaomUDzUeAAbnrAAClCxzLx7U763.png

當(dāng)發(fā)生一次捕獲時(shí),通道 CHy 比較捕獲中斷標(biāo)志 GTIMx_ISR.CCy 被硬件置位,如果允許中斷 ( 設(shè)置中斷使能寄 存器 GTIMx_IER.CCy 為 1),CPU 將響應(yīng)中斷服務(wù)程序。退出中斷服務(wù)程序之前,應(yīng)設(shè)置中斷標(biāo)志清除寄存器 GTIMx_ICR.CCy 為 0 以清除該標(biāo)志。

輸入捕獲來源

GTIM 的輸入捕獲來源可以是外部 GTIMx_CHy 引腳,也可以是片內(nèi)其它外設(shè),通過通用定時(shí)器輸入捕獲來源配置寄存器 SYSCTRL_GTIMxCAP 進(jìn)行配置。當(dāng) SYSCTRL_GTIMxCAP.CHy 為 0x00 時(shí),輸入捕獲信號(hào)的外部輸入端口由 GPIO 復(fù)用功能寄存器 (GPIOx_AFRH 和 GPIOx_AFRL) 進(jìn)行配置。當(dāng) SYSCTRL_GTIMxCAP.CHy 為 0x01 ~ 0x07 時(shí),輸入捕獲信號(hào)來自片內(nèi)其它外設(shè),如下表所示:

wKgZomUDzUmAXMGQAAG5XAd63dQ385.png

這種配置下,可以在芯片內(nèi)部實(shí)現(xiàn)外部輸入的互聯(lián),例如將 UART 的 RXD 信號(hào)作為輸入捕獲來源,可以實(shí)現(xiàn)對(duì) UART 波特率的自動(dòng)檢測。

實(shí)例演示:利用GTIM的輸入捕獲功能,測量PWM信號(hào)的周期和脈寬

1.初始化系統(tǒng)時(shí)鐘

void RCC_Configuration(void)

{

__RCC_GTIM1_CLK_ENABLE();

__RCC_GPIOA_CLK_ENABLE();

RCC_HSI_Enable(RCC_HSIOSC_DIV6);

// 系統(tǒng)時(shí)鐘設(shè)置為HSI,6分頻,8MHz, PCLK、HCLK不分頻, PCLK=HCLK=SysClk=8MHz

}

2.初始化GPIO

void GPIO_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStruct = {0};

GPIO_InitStruct.IT = GPIO_IT_NONE;

GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

GPIO_InitStruct.Pins = GPIO_PIN_6 | GPIO_PIN_7;

GPIO_Init(CW_GPIOA, GPIO_InitStruct);

PA06_AFx_GTIM1CH1();//設(shè)置PA06復(fù)用為GTIM1_CH1, 上升沿觸發(fā)捕獲

PA07_AFx_GTIM1CH2();//設(shè)置PA07復(fù)用為GTIM1_CH2,下降沿觸發(fā)捕獲。

}

3.配置中斷服務(wù)程序

void NVIC_Configuration(void)

{

__disable_irq();

NVIC_EnableIRQ(GTIM1_IRQn);

__enable_irq();

}

4.GTIM1中斷服務(wù)程序:通道1的輸入捕獲中斷獲取計(jì)數(shù)值VALUE1,通道2的輸入捕獲中斷獲取計(jì)數(shù)值VALUE2,通道1的第2次輸入捕獲中斷獲取計(jì)數(shù)值VALUE3。則信號(hào)脈寬=VALUE2-VALUE1,信號(hào)周期=VALUE3-VALUE1。注意如果待測量信號(hào)的脈寬和周期較長,在計(jì)算時(shí)需要考慮定時(shí)器的溢出問題,詳見定時(shí)器溢出中斷處理內(nèi)容。

void GTIM1_IRQHandler(void)

{

GTIM1_IRQHandlerCallBack();

}

void GTIM1_IRQHandlerCallBack(void)

{

static uint8_t stage = 0;

static uint32_t cnt = 0;

if (GTIM_GetITStatus(CW_GTIM1, GTIM_IT_OV))

{

GTIM_ClearITPendingBit(CW_GTIM1, GTIM_IT_OV);

if (stage == 1)

{

cnt++;

}

}

if (GTIM_GetITStatus(CW_GTIM1, GTIM_IT_CC1))

{

if (stage == 0)

{

PWMPeriod = GTIM_GetCapture1(CW_GTIM1);

stage = 1;

}

else if (stage == 1)

{

PWMPeriod = GTIM_GetCapture1(CW_GTIM1) + cnt * 65536 - PWMPeriod;

stage = 0;

cnt = 0;

}

GTIM_ClearITPendingBit(CW_GTIM1, GTIM_IT_CC1);

}

if (GTIM_GetITStatus(CW_GTIM1, GTIM_IT_CC2))

{

if (stage == 1)

{

PWMWidth = GTIM_GetCapture2(CW_GTIM1) + cnt * 65536 - PWMPeriod;

}

GTIM_ClearITPendingBit(CW_GTIM1, GTIM_IT_CC2);

}

}

5.主程序:使用GTIM1的CH1和CH2兩個(gè)通道對(duì)PWM輸入信號(hào)進(jìn)行測量,在捕獲中斷服務(wù)程序中完成信號(hào)的周期和脈寬計(jì)算。

static uint32_t PWMPeriod = 0;

static uint32_t PWMWidth = 0;

int32_t main(void)

{

RCC_Configuration();//System Clocks Configuration

GPIO_Configuration();//GPIO Configuration

NVIC_Configuration();//NVIC Configuration

GTIM_InitTypeDef GTIM_InitStruct = {0};

GTIM_ICInitTypeDef GTIM_ICInitStruct = {0};

GTIM_InitStruct.Mode = GTIM_MODE_TIME; /*!< GTIM的模式選擇。*/

GTIM_InitStruct.OneShotMode = GTIM_COUNT_CONTINUE;

/*!< GTIM的單次/連續(xù)計(jì)數(shù)模式選擇。*/

GTIM_InitStruct.Prescaler = GTIM_PRESCALER_DIV1; /*!< GTIM的預(yù)分頻系數(shù)。*/

GTIM_InitStruct.ReloadValue = 0xFFFF; /*!< GTIM的重載值。*/

GTIM_InitStruct.ToggleOutState = DISABLE;

GTIM_TimeBaseInit(CW_GTIM1, GTIM_InitStruct); //GTIM的基礎(chǔ)參數(shù)初始化

GTIM_ICInitStruct.CHx = GTIM_CHANNEL1;// GTIM 輸入捕獲的配置參數(shù)

GTIM_ICInitStruct.ICFilter = GTIM_CHx_FILTER_NONE;

GTIM_ICInitStruct.ICInvert = GTIM_CHx_INVERT_ON;

GTIM_ICInitStruct.ICPolarity = GTIM_ICPolarity_Rising;

GTIM_ICInit(CW_GTIM1, GTIM_ICInitStruct);//輸入捕獲功能初始化

GTIM_ICInitStruct.CHx = GTIM_CHANNEL2;

GTIM_ICInitStruct.ICPolarity = GTIM_ICPolarity_Falling;

GTIM_ICInit(CW_GTIM1, GTIM_ICInitStruct);

GTIM_ITConfig(CW_GTIM1, GTIM_IT_CC1 | GTIM_IT_CC2 | GTIM_IT_OV, ENABLE);

GTIM_Cmd(CW_GTIM1, ENABLE);

while (1)

{

}

}

6.演示說明:

將同一個(gè)PWM輸入信號(hào)引入到PA06和PA07上,運(yùn)行程序,使用GTIM1的CH1和CH2兩個(gè)通道對(duì)PWM輸入信號(hào)的脈寬和周期進(jìn)行測量。

來源:武漢芯源半導(dǎo)體

免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理

審核編輯 黃宇

聲明:本文內(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

    文章

    5511

    瀏覽量

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

    關(guān)注

    23

    文章

    3350

    瀏覽量

    121379
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【教程】手把手教你用CLion進(jìn)行CW32開發(fā)

    以下文章內(nèi)容由CW32生態(tài)社區(qū)用戶End提供: https://gitee.com/xcet/embedded-cw32-board-template/tree/master/ref
    的頭像 發(fā)表于 09-29 18:00 ?6382次閱讀
    【教程】手把手教你用CLion進(jìn)行<b class='flag-5'>CW32</b>開發(fā)

    SysTick系統(tǒng)滴答定時(shí)器簡介

    SysTick—系統(tǒng)定時(shí)器是屬于CM33內(nèi)核中的一個(gè)外設(shè),內(nèi)嵌在NVIC中。系統(tǒng)定時(shí)器是一個(gè)24bit的向下遞減的計(jì)數(shù),計(jì)數(shù)每計(jì)數(shù)一次的時(shí)間為 1/SYSCLK,一般我們設(shè)置系統(tǒng)時(shí)
    的頭像 發(fā)表于 09-23 09:50 ?1121次閱讀
    SysTick系統(tǒng)滴答<b class='flag-5'>定時(shí)器</b>簡介

    定時(shí)器輸入捕獲模式

    AT32F4xx定時(shí)器輸入捕獲模式 支持型號(hào): AT32F 系列 主要使用外設(shè): TIMER、 USART 獲取示例 1 快速使用方法 1.1 硬件資源 AT-START-F403A V1.0
    發(fā)表于 09-22 09:58

    基于 AS32X601 微控制定時(shí)器模塊(TIM)技術(shù)研究與應(yīng)用實(shí)踐

    闡述了高級(jí)定時(shí)器和通用定時(shí)器的計(jì)數(shù)精度、預(yù)分頻可編程性,以及輸入捕獲、輸出比較、PWM生成等
    的頭像 發(fā)表于 08-19 16:44 ?519次閱讀

    如何使用新版本J-Flash編程CW32 MCU?

    CW32 MCU器件支持包JlinkDevices_WHXY.rar解壓到新建的JlinkDevices子目錄即可。 4、運(yùn)行JFlash.exe,通過Jlink連接CW32 MCU測試板,進(jìn)行編程測試
    的頭像 發(fā)表于 07-01 15:05 ?377次閱讀
    如何使用新版本J-Flash編程<b class='flag-5'>CW32</b> MCU?

    第二十一章 TIM——通用定時(shí)器

    本篇文章介紹了W55MH32的通用定時(shí)器(TIM2~TIM5等),其由16位自動(dòng)裝載計(jì)數(shù)和可編程預(yù)分頻構(gòu)成,具備輸入捕獲、輸出比較、PW
    的頭像 發(fā)表于 06-20 13:57 ?1278次閱讀
    第二十一章 TIM——通用<b class='flag-5'>定時(shí)器</b>

    第二十章 TIM——基本定時(shí)器

    本章介紹了W55H32基本定時(shí)器TIM6、TIM7,16位向上計(jì)數(shù),含時(shí)鐘源、預(yù)分頻等,講解定時(shí)計(jì)算及初始化結(jié)構(gòu)體。
    的頭像 發(fā)表于 06-20 13:51 ?732次閱讀
    第二十章 TIM——基本<b class='flag-5'>定時(shí)器</b>

    WIZnet W55MH32以太網(wǎng)單片機(jī)開發(fā)教程 第十一章 通用定時(shí)器(上篇)

    本章介紹了W55MH32的通用定時(shí)器TIM2~TIM5,其由 16 位計(jì)數(shù)等構(gòu)成,具輸入捕獲等功能,有多種計(jì)數(shù)模式及時(shí)鐘選擇。對(duì)例程進(jìn)行了講解
    的頭像 發(fā)表于 05-28 10:12 ?764次閱讀
    WIZnet W55MH32以太網(wǎng)單片機(jī)開發(fā)教程 第十一章 通用<b class='flag-5'>定時(shí)器</b>(上篇)

    武漢芯源半導(dǎo)體CW32L010在兩輪車儀表的應(yīng)用介紹

    通用和基本定時(shí)器、一組低功耗定時(shí)器以及一組高級(jí)控制 PWM 定時(shí)器。 CW32L010 可以在 -40℃到 85℃的溫度范圍內(nèi)工作,供電電壓寬達(dá) 1.62V ~ 5.5V。支持 Sle
    發(fā)表于 05-13 14:06

    MCU定時(shí)器/計(jì)數(shù)

    架構(gòu)與功能特性? 定時(shí)器類型與配置? 高級(jí)控制定時(shí)器?:支持互補(bǔ)PWM輸出與剎車功能,適用于電機(jī)驅(qū)動(dòng)等高精度控制場景。通用定時(shí)器?:集成輸入捕獲
    的頭像 發(fā)表于 04-27 13:54 ?529次閱讀

    STM32H723使用DMA方式實(shí)現(xiàn)定時(shí)器輸入捕獲只能執(zhí)行一次嗎?

    目的:我們希望在 STM32H723 平臺(tái)上以 DMA 模式實(shí)現(xiàn)定時(shí)器輸入捕獲,而不中斷當(dāng)前問題:使用 Cube MX 配置相關(guān)參數(shù),只使用 TIM4 的 CH2 作為輸入采集直接模式
    發(fā)表于 03-12 08:21

    定時(shí)器是不是有編碼輸入功能?

    你好,我想請教一下定時(shí)器是不是有編碼輸入功能,是高級(jí)定時(shí)器和通用定時(shí)器都有嗎,還是不一定,具體要看手冊,能幫我看一下STM32G473有幾
    發(fā)表于 03-11 07:07

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實(shí)戰(zhàn)正式出版

    尊敬的各位電子工程師、嵌入式開發(fā)愛好者們:大家好!今天,我們懷著無比激動(dòng)與自豪的心情,向大家宣布一個(gè)重大喜訊——武漢芯源半導(dǎo)體的單片機(jī)CW32正式出書啦!《基于ARMCortex-M0+的CW32
    的頭像 發(fā)表于 03-03 15:15 ?932次閱讀
    代碼+案例+生態(tài):武漢芯源半導(dǎo)體<b class='flag-5'>CW32</b>嵌入式開發(fā)實(shí)戰(zhàn)正式出版

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實(shí)戰(zhàn)正式出版

    CW32 單片機(jī)的高級(jí)特性和應(yīng)用技巧,如低功耗設(shè)計(jì)、高速通信接口的優(yōu)化、實(shí)時(shí)操作系統(tǒng)的移植等。同時(shí),書中還分享了許多實(shí)際項(xiàng)目中的開發(fā)經(jīng)驗(yàn)和解決方案,這些寶貴的經(jīng)驗(yàn)將有助于開發(fā)者拓寬思路,提高開發(fā)效率,解決在
    發(fā)表于 03-03 15:14

    高級(jí)定時(shí)器PWM輸入模式的配置方法

    我們將向大家介紹高級(jí)定時(shí)器的另一個(gè)常見應(yīng)用——PWM輸入模式。在本節(jié)課中,我們將先圍繞輸入捕獲模式展開,并重點(diǎn)描述PWM輸入模式和涉及的寄存
    的頭像 發(fā)表于 11-08 16:48 ?5111次閱讀
    高級(jí)<b class='flag-5'>定時(shí)器</b>PWM<b class='flag-5'>輸入</b>模式的配置方法