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

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

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

CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)器脈沖計(jì)數(shù)

jf_pJlTbmA9 ? 來源:中科芯MCU ? 作者:中科芯MCU ? 2023-11-09 17:38 ? 次閱讀

上一章我們介紹了CKS32F4的通用定時(shí)器定時(shí)操作的使用方法,這一章我們將向大家介紹通用定時(shí)器作為定時(shí)器脈沖計(jì)數(shù)的使用。在本章中,我們將用TIM5的通道1(PA0)來做輸入捕獲,捕獲PA0上的脈沖。

輸入捕獲簡(jiǎn)介

輸入捕獲模式可以用來測(cè)量脈沖寬度或者脈沖計(jì)數(shù),我們簡(jiǎn)單說明脈沖計(jì)數(shù)的原理,測(cè)量方法如下:首先設(shè)置定時(shí)器通道x為上升沿捕獲,在通道有脈沖觸發(fā)時(shí),定時(shí)器進(jìn)入捕獲中斷,我們可以在中斷中完成一次計(jì)數(shù)的累加,當(dāng)一個(gè)計(jì)數(shù)周期結(jié)束后,得到的累加值就是脈沖計(jì)數(shù)值。

CKS32F4的定時(shí)器,除了TIM6和TIM7,其他定時(shí)器都有輸入捕獲功能。CKS32F4的輸入捕獲,簡(jiǎn)單的說就是通過檢測(cè)TIMx_CHx上的邊沿信號(hào),在邊沿信號(hào)發(fā)生跳變(比如上升沿/下降沿)的時(shí)候,將當(dāng)前定時(shí)器的值(TIMx_CNT)存放到對(duì)應(yīng)的通道的捕獲/比較寄存器(TIMx_CCRx)里面,完成一次捕獲。同時(shí)還可以配置捕獲時(shí)是否觸發(fā)中斷/DMA等。

本章我們用到TIM5_CH1來實(shí)現(xiàn)脈沖計(jì)數(shù)。

輸入捕獲操作

接下來,我們介紹我們本章需要用到的一些寄存器配置,需要用到的寄存器有:TIMx_ARR、TIMx_PSC、TIMx_CCMR1、TIMx_CCER、TIMx_DIER、TIMx_CR1、TIMx_CCR1接下來我們介紹這幾個(gè)寄存器的配置。

首先TIMx_ARR和TIMx_PSC,這兩個(gè)寄存器用來設(shè)自動(dòng)重裝載值和TIMx的時(shí)鐘分頻,對(duì)于TIMx_AR,如圖1所示:一定要注意當(dāng)自動(dòng)裝載的值為空時(shí),計(jì)數(shù)器不工作。

wKgZomUDxVWAKEPMAABfq6eEetE803.png

圖1

對(duì)于TIMx_PSC,如圖2所示,利用這個(gè)寄存器和RCC的預(yù)分頻寄存器配合,我們可以得到幾微妙到幾毫秒的計(jì)數(shù)周期。

wKgaomUDxVaARCdXAACrPcPvBMI308.png

圖2

再來看看捕獲/比較模式寄存器1:TIMx_CCMR1,這個(gè)寄存器在輸入捕獲的時(shí)候,非常有用,該寄存器的各位描述如圖3所示:

wKgZomUDxViABJHOAABCv10hyro560.png

圖3TIMx_CCMR1寄存器各位描

當(dāng)在輸入捕獲模式下使用的時(shí)候,對(duì)應(yīng)圖3的第二行描述,從圖中可以看出,TIMx_CCMR1明顯是針對(duì)2個(gè)通道的配置,低八位[7:0]用于捕獲/比較通道1的控制,而高八位[15:8]則用于捕獲/比較通道2的控制,因?yàn)門IMx還有CCMR2這個(gè)寄存器,所以可以知道CCMR2是用來控制通道3和通道4,這里我們用到的是TIM5的捕獲/比較通道1,我們重點(diǎn)介紹TIMx_CCMR1的[7:0]位(其高8位配置類似),TIMx_CCMR1的[7:0]位詳細(xì)描述見圖4所示:

wKgZomUDxVuAM7Z2AAP08DepN4Y616.png

圖4 TIMx_CCMR1[7:0]位詳細(xì)描述

其中CC1S[1:0],這兩個(gè)位用于CCR1的通道配置,這里我們?cè)O(shè)置IC1S[1:0]=01,也就是配置IC1映射在TI1上,即CC1對(duì)應(yīng)TIMx_CH1。輸入捕獲1預(yù)分頻器IC1PSC[1:0],這個(gè)比較好理解。我們是1次邊沿就觸發(fā)1次捕獲,所以選擇00就是了。輸入捕獲1濾波器IC1F[3:0],這個(gè)用來設(shè)置輸入采樣頻率和數(shù)字濾波器長(zhǎng)度。其中,fCK_INT是定時(shí)器的輸入頻率(TIMxCLK),一般為84Mhz/168Mhz,而fDTS則是根據(jù)TIMx_CR1的CKD[1:0]的設(shè)置來確定的,如果CKD[1:0]設(shè)置為00,那么fDTS=fCK_INT,N值就是濾波長(zhǎng)度,舉個(gè)簡(jiǎn)單的例子:假設(shè)IC1F[3:0]=0011,并設(shè)置IC1映射到通道1上,且為上升沿觸發(fā),那么在捕獲到上升沿的時(shí)候,再以fCK_INT的頻率,連續(xù)采樣到8次通道1的電平,如果都是高電平,則說明確是一個(gè)有效的觸發(fā),就會(huì)觸發(fā)輸入捕獲中斷(如果開啟了的話)。

這樣可以濾除那些高電平脈寬低于8個(gè)采樣周期的脈沖信號(hào),從而達(dá)到濾波的效果。這里,我們不做濾波處理,所以設(shè)置IC1F[3:0]=0000,只要采集到上升沿,就觸發(fā)捕獲。再來看看捕獲/比較使能寄存器:TIMx_CCER,本章我們要用到這個(gè)寄存器的最低2位,CC1E和CC1P位。這兩個(gè)位的描述如圖5所示:

wKgaomUDxV2AKY1iAAOXASqAlq4959.png

圖5 TIMx_CCER最低2位描述

所以,要使能輸入捕獲,必須設(shè)置CC1E=1,而CC1P則根據(jù)自己的需要來配置。接下來我們?cè)倏纯粗袛嗍鼓芗拇嫫鳎篢IMx_DIER,該寄存器的各位描述見圖6:

wKgaomUDxV6Af_kKAACD2aTHoRc738.png

圖6TIMx_DIER寄存器各位描述

本章,我們需要用到中斷來處理捕獲數(shù)據(jù),所以必須開啟通道1的捕獲比較中斷,即CC1IE設(shè)置為1??刂萍拇嫫鳎篢IMx_CR1,我們只用到了它的最低位,也就是用來使能定時(shí)器的,這里前面兩章都有介紹,請(qǐng)大家參考前面的章節(jié)。最后再來看看捕獲/比較寄存器TIMx_CCR1,該寄存器用來存儲(chǔ)捕獲發(fā)生時(shí),TIMx_CNT的值,我們從TIMx_CCR1就可以讀出通道1捕獲發(fā)生時(shí)刻的TIMx_CNT值,至此,我們把本章要用的幾個(gè)相關(guān)寄存器都介紹完了,本章要實(shí)現(xiàn)通過輸入捕獲,來計(jì)量TIM5_CH1(PA0)上面的脈沖數(shù)量,下面我們介紹庫(kù)函數(shù)配置上述功能輸入捕獲的步驟:

1)開啟TIM5時(shí)鐘,配置PA0為復(fù)用功能(AF2),并開啟下拉電阻

要使用TIM5,我們必須先開啟TIM5的時(shí)鐘。同時(shí)我們要捕獲TIM5_CH1上面的高電平脈寬,所以先配置PA0為帶下拉的復(fù)用功能,同時(shí),為了讓PA0的復(fù)用功能選擇連接到TIM5,所以設(shè)置PA0的復(fù)用功能為AF2,即連接到TIM5上面。開啟TIM5時(shí)鐘的方法為:

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE);//>>TIM5時(shí)鐘使能

當(dāng)然,這里我們也要開啟PA0對(duì)應(yīng)的GPIO的時(shí)鐘。配置PA0為復(fù)用功能,所以我們首先要設(shè)置PA0引腳映射AF2,方法為:

br

最后,我們還要初始化GPIO的模式為復(fù)用功能,同時(shí)這里我們還要設(shè)置為開啟下拉。方法為:

typedefstructGPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//GPIOA0
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//復(fù)用功能
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;//速度100MHz
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//推挽復(fù)用輸出
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_DOWN;//下拉
GPIO_Init(GPIOA, GPIO_InitStructure);//初始化PA0

跟上一講PWM輸出類似,這里我們使用的是定時(shí)器5的通道1,所以我們從CKS32F4對(duì)應(yīng)的數(shù)據(jù)手冊(cè)可以查看到對(duì)應(yīng)的IO口為PA0:

2)初始化TIM5,設(shè)置TIM5的ARR和PSC

在開啟了TIM5的時(shí)鐘之后,我們要設(shè)置ARR和PSC兩個(gè)寄存器的值來設(shè)置輸入捕獲的自動(dòng)重裝載值和計(jì)數(shù)頻率。這在庫(kù)函數(shù)中是通過TIM_TimeBaseInit函數(shù)實(shí)現(xiàn)的,在上面章節(jié)已經(jīng)講解過,這里不重復(fù)講解。

TIM_TimeBaseStructure.TIM_Prescaler=psc;//定時(shí)器分頻
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上計(jì)數(shù)模式
TIM_TimeBaseStructure.TIM_Period=arr;//自動(dòng)重裝載值
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInit(TIM5, TIM_TimeBaseStructure);//初始化TIM5

3)設(shè)置TIM5的輸入捕獲參數(shù),開啟輸入捕獲

TIM5_CCMR1寄存器控制著輸入捕獲1和2的模式,包括映射關(guān)系,濾波和分頻等。這里我們需要設(shè)置通道1為輸入模式,且IC1映射到TI1(通道1)上面,并且不使用濾波(提高響應(yīng)速度)器。庫(kù)函數(shù)是通過TIM_ICInit函數(shù)來初始化輸入比較參數(shù)的:

voidTIM_ICInit(TIM_TypeDef*TIMx,TIM_ICInitTypeDef*TIM_ICInitStruct)

同樣,我們來看看參數(shù)設(shè)置結(jié)構(gòu)體TIM_ICInitTypeDef的定義:

typedefstruct
{
uint16_tTIM_Channel;//>>通道
uint16_tTIM_ICPolarity;//>>捕獲極性
uint16_tTIM_ICSelection;//>>映射
uint16_tTIM_ICPrescaler;//>>分頻系數(shù)
uint16_tTIM_ICFilter;//>>濾波器長(zhǎng)度
}TIM_ICInitTypeDef;

參數(shù)TIM_Channel很好理解,用來設(shè)置通道。我們?cè)O(shè)置為通道1,為TIM_Channel_1。參數(shù)TIM_ICPolarit是用來設(shè)置輸入信號(hào)的有效捕獲極性,這里我們?cè)O(shè)置為TIM_ICPolarity_Rising,上升沿捕獲。同時(shí)庫(kù)函數(shù)還提供了單獨(dú)設(shè)置通道1捕獲極性的函數(shù)為:

TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Falling);

這表示通道1為上升沿捕獲,我們后面會(huì)用到,同時(shí)對(duì)于其他三個(gè)通道也有一個(gè)類似的函數(shù),使用的時(shí)候一定要分清楚使用的是哪個(gè)通道該調(diào)用哪個(gè)函數(shù),格式為TIM_OCxPolarityConfig()。參數(shù)TIM_ICSelection是用來設(shè)置映射關(guān)系,我們配置IC1直接映射在TI1上,選TIM_ICSelection_DirectTI。參數(shù)TIM_ICPrescaler用來設(shè)置輸入捕獲分頻系數(shù),我們這里不分頻,所以選中TIM_ICPSC_DIV1,還有2,4,8分頻可選。參數(shù)TIM_ICFilter設(shè)置濾波器長(zhǎng)度,這里我們不使用濾波器,所以設(shè)置為0。這些參數(shù)的意義,在我們講解寄存器的時(shí)候舉例說明過,這里不做詳細(xì)解釋。我們的配置代碼是:

TIM5_ICInitStructure.TIM_Channel=TIM_Channel_1;//>>選擇輸入端IC1映射到TI1上
TIM5_ICInitStructure.TIM_ICPolarity=TIM_ICPolarity_Rising;//>>上升沿捕獲
TIM5_ICInitStructure.TIM_ICSelection=TIM_ICSelection_DirectTI;//>>映射到TI1上
TIM5_ICInitStructure.TIM_ICPrescaler=TIM_ICPSC_DIV1;//>>配置輸入分頻,不分頻
TIM5_ICInitStructure.TIM_ICFilter=0x00;//>>IC1F=0000配置輸入濾波器不濾波
TIM_ICInit(TIM5, TIM5_ICInitStructure);

4)使能捕獲和更新中斷(設(shè)置TIM5的DIER寄存器)

因?yàn)槲覀円东@的是高電平信號(hào),所以,第一次捕獲是上升沿,這兩件事,我們都在中斷里面做,所以必須開啟捕獲中斷和更新中斷。這里我們使用定時(shí)器的開中斷函數(shù)TIM_ITConfig即可使能捕獲和更新中斷:

TIM_ITConfig(TIM5,TIM_IT_Update|TIM_IT_CC1,ENABLE);//>>允許更新中斷和捕獲中斷

5)設(shè)置中斷優(yōu)先級(jí),編寫中斷服務(wù)函數(shù)

因?yàn)槲覀円褂玫街袛?,所以我們?cè)谙到y(tǒng)初始化之后,需要先設(shè)置中斷優(yōu)先級(jí)分組,這里方法跟我們前面講解一致,調(diào)用NVIC_PriorityGroupConfig()函數(shù)即可,我們系統(tǒng)默認(rèn)設(shè)置都是分組2。設(shè)置中斷優(yōu)先級(jí)的方法前面多次提到這里我們不做講解,主要是通過函數(shù)NVIC_Init()來完成。設(shè)置優(yōu)先級(jí)完成后,我們還需要在中斷函數(shù)里面完成數(shù)據(jù)處理和捕獲設(shè)置等關(guān)鍵操作,從而實(shí)現(xiàn)高電平計(jì)數(shù)統(tǒng)計(jì)。在中斷服務(wù)函數(shù)里面,跟以前的外部中斷和定時(shí)器中斷實(shí)驗(yàn)中一樣,我們?cè)谥袛嚅_始的時(shí)候要進(jìn)行中斷類型判斷,在中斷結(jié)束的時(shí)候要清除中斷標(biāo)志位。使用到的函數(shù)在上面的實(shí)驗(yàn)已經(jīng)講解過,分別為TIM_GetITStatus()函數(shù)和TIM_ClearITPendingBit()函數(shù)。

if(TIM_GetITStatus(TIM5,TIM_IT_Update)!=RESET){}//>>判斷是否為更新中斷
if(TIM_GetITStatus(TIM5,TIM_IT_CC1)!=RESET){}//>>判斷是否發(fā)生捕獲事件
TIM_ClearITPendingBit(TIM5,TIM_IT_CC1|TIM_IT_Update);//>>清除中斷和捕獲標(biāo)志位

6)使能定時(shí)器(設(shè)置TIM5的CR1寄存器)

最后,必須打開定時(shí)器的計(jì)數(shù)器開關(guān),啟動(dòng)TIM5的計(jì)數(shù)器,開始輸入捕獲。

TIM_Cmd(TIM5,ENABLE);//>>使能定時(shí)器5

通過以上6步設(shè)置,定時(shí)器5的通道1就可以開始輸入捕獲了。

代碼示例

這里我們主要是添加了輸入捕獲初始化函數(shù)TIM5_CH1_Cap_Init以及中斷服務(wù)函數(shù)TIM5_IRQHandler。對(duì)于輸入捕獲,我們也是使用的定時(shí)器相關(guān)的操作,接下來我們來看看兩個(gè)函數(shù)的內(nèi)容:

TIM_ICInitTypeDefTIM5_ICInitStructure;

//>>定時(shí)器5通道1輸入捕獲配置

//>>arr:自動(dòng)重裝值(TIM2,TIM5是32位的!!)psc:時(shí)鐘預(yù)分頻數(shù)

voidTIM5_CH1_Cap_Init(u32arr,u16psc)
{
GPIO_InitTypeDefGPIO_InitStructure;
TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;
NVIC_InitTypeDefNVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE);//>>TIM5時(shí)鐘使能
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);//>>使能PORTA時(shí)鐘
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//>>GPIOA0
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//>>復(fù)用功能
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;
//>>速度100MHz
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//>>推挽復(fù)用輸出
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_DOWN;//>>下拉
GPIO_Init(GPIOA, GPIO_InitStructure);//>>初始化PA0
GPIO_PinAFConfig(GPIOA,GPIO_PinSource0,GPIO_AF_TIM5);//>>PA0復(fù)用位定時(shí)器5
TIM_TimeBaseStructure.TIM_Prescaler=psc;//>>定時(shí)器分頻
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//>>向上計(jì)數(shù)模式
TIM_TimeBaseStructure.TIM_Period=arr;//>>自動(dòng)重裝載值
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInit(TIM5, TIM_TimeBaseStructure);
TIM5_ICInitStructure.TIM_Channel=TIM_Channel_1;//>>選擇輸入端IC1映射到TI1上
TIM5_ICInitStructure.TIM_ICPolarity=TIM_ICPolarity_Rising;
//>>上升沿捕獲
TIM5_ICInitStructure.TIM_ICSelection=TIM_ICSelection_DirectTI;//>>映射到TI1上
TIM5_ICInitStructure.TIM_ICPrescaler=TIM_ICPSC_DIV1;//>>配置輸入分頻,不分頻
TIM5_ICInitStructure.TIM_ICFilter=0x00;//>>IC1F=0000配置輸入濾波器不濾波
TIM_ICInit(TIM5, TIM5_ICInitStructure);//>>初始化TIM5輸入捕獲參數(shù)
TIM_ITConfig(TIM5,TIM_IT_Update|TIM_IT_CC1,ENABLE);//>>允許更新和捕獲中斷
TIM_Cmd(TIM5,ENABLE);
//>>使能定時(shí)器5
NVIC_InitStructure.NVIC_IRQChannel=TIM5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//>>搶占優(yōu)先級(jí)2
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;//>>響應(yīng)優(yōu)先級(jí)0
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//>>IRQ通道使能
NVIC_Init( NVIC_InitStructure);//>>根據(jù)指定的參數(shù)初始化VIC寄存器、
}
//>>捕獲狀態(tài)
//>>[7]:0,沒有成功的捕獲;1,成功捕獲到一次.
//>>[6]:0,還沒捕獲到低電平;1,已經(jīng)捕獲到低電平了.
//>>[5:0]:捕獲低電平后溢出的次數(shù)(對(duì)于32位定時(shí)器來說,1us計(jì)數(shù)器加1,溢出時(shí)間:4294秒)
u8TIM5CH1_CAPTURE_STA=0;//>>輸入捕獲狀態(tài)
u32TIM5CH1_CAPTURE_VAL;//>>輸入捕獲值(TIM2/TIM5是32位)
//>>定時(shí)器5中斷服務(wù)程序
voidTIM5_IRQHandler(void)
{
if(TIM_GetITStatus(TIM5,TIM_IT_CC1)!=RESET)//>>捕獲1發(fā)生捕獲事件
{
TIM5CH1_CAPTURE_VAL++;}
}
TIM_ClearITPendingBit(TIM5,TIM_IT_CC1|TIM_IT_Update);//>>清除中斷標(biāo)志位
}

此部分代碼包含兩個(gè)函數(shù),其中TIM5_CH1_Cap_Init函數(shù)用于TIM5通道1的輸入捕獲設(shè)置,其設(shè)置和我們上面講的步驟是一樣的,這里就不多說,特別注意:TIM5是32位定時(shí)器,所以arr是u32類型的。接下來,重點(diǎn)來看看第二個(gè)函數(shù)。TIM5_IRQHandler是TIM5的中斷服務(wù)函數(shù),變量TIM5CH1_CAPTURE_VAL,則用來記錄捕獲到上升沿的時(shí)候,對(duì)脈沖進(jìn)行計(jì)數(shù),timer.h頭文件內(nèi)容比較簡(jiǎn)單,主要是函數(shù)申明,這里我們不做過多講解。接下來,我們看看main函數(shù)內(nèi)容:

externu8TIM5CH1_CAPTURE_STA;
//>>輸入捕獲狀態(tài)
externu32
TIM5CH1_CAPTURE_VAL;//輸入捕獲值
intmain(void)
{
longlongtemp=0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//>>設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組2
delay_init(168);//初始化延時(shí)函數(shù)
uart_init(115200);//初始化串口波特率為115200
TIM14_PWM_Init(500-1,84-1);
//>>84M/84=1Mhz的計(jì)數(shù)頻率計(jì)數(shù)到500,頻率為1M/500=2Khz
TIM5_CH1_Cap_Init(0XFFFFFFFF,84-1);//>>以84M/84=1Mhz的頻率計(jì)數(shù)
while(1)
{
delay_ms(100);
//>>得到脈沖計(jì)數(shù)
printf("PWMCNT:%drn",TIM5CH1_CAPTURE_VAL);//>>打印脈沖計(jì)數(shù)
}
}

該main函數(shù)是在PWM實(shí)驗(yàn)的基礎(chǔ)上修改來的,我們保留了PWM輸出,同時(shí)通過設(shè)置TIM5_Cap_Init(0XFFFFFFFF,84-1),將TIM5_CH1的捕獲計(jì)數(shù)器設(shè)計(jì)為1us計(jì)數(shù)一次,并設(shè)置重裝載值為最大以達(dá)到不讓定時(shí)器溢出的作用(溢出時(shí)間為2^32-1us),所以我們的捕獲時(shí)間精度為1us。每隔100ms打印一次脈沖計(jì)數(shù)值。至此,我們的軟件設(shè)計(jì)就完成了。

來源:中科芯MCU

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    895

    瀏覽量

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

    關(guān)注

    23

    文章

    3231

    瀏覽量

    114326
  • 脈沖計(jì)數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    8572
  • Timer
    +關(guān)注

    關(guān)注

    1

    文章

    63

    瀏覽量

    12762
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MCU微課堂|CKS32F4xx系列產(chǎn)品時(shí)鐘配置

    ,并且高時(shí)鐘頻率將導(dǎo)致功耗增加、抗電磁干擾能力變?nèi)?,因此?b class='flag-5'>CKS32F4xx系列產(chǎn)品內(nèi)部具備多個(gè)時(shí)鐘源。本文將對(duì)CKS32F4xx系列產(chǎn)品時(shí)鐘組成進(jìn)行分析,并講解該系統(tǒng)單片機(jī)的時(shí)鐘的配
    發(fā)表于 12-12 10:17 ?796次閱讀

    CKS32F4xx系列ETH通信詳解

    CKS32F4xx系列芯片自帶以太網(wǎng)模塊,該模塊包括帶專用DMA控制的MAC 802.3(介質(zhì)訪問控制)控制
    的頭像 發(fā)表于 11-10 11:13 ?937次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ETH通信詳解

    CKS32F4xx系列MCU SysTick定時(shí)器的原理及使用方法

    本課將為大家講解CKS32F4xx系列產(chǎn)品的SysTick定時(shí)器原理及使用方法。SysTick定時(shí)器也叫SysTick滴答
    的頭像 發(fā)表于 12-18 09:21 ?1205次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>MCU SysTick<b class='flag-5'>定時(shí)器</b>的原理及<b class='flag-5'>使用方法</b>

    CKS32F4xx系列產(chǎn)品NVIC中斷優(yōu)先級(jí)管理單元講解

    本課將為大家講解CKS32F4xx系列產(chǎn)品的中斷優(yōu)先級(jí)管理單元NVIC。CM4內(nèi)核共支持256個(gè)中斷,其中包含了16個(gè)內(nèi)核中斷和240個(gè)外部中斷,具有256級(jí)可編程中斷設(shè)置。但CKS32F4x
    的頭像 發(fā)表于 02-06 14:52 ?1098次閱讀

    CKS32F4xx系列產(chǎn)品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個(gè)串口都支持DMA傳輸。因此本節(jié)我們對(duì)CKS32F4xx系列的DMA進(jìn)行介紹,同時(shí)利用DMA對(duì)串口數(shù)據(jù)進(jìn)行傳輸。
    的頭像 發(fā)表于 04-10 11:18 ?996次閱讀

    CKS32F4xx系列產(chǎn)品定時(shí)器使用-基本特征和定時(shí)操作

    這一課我們將介紹CKS32F4XX系列產(chǎn)品定時(shí)器使用,CKS32F4XX定時(shí)器功能十分強(qiáng)大,包含2個(gè)高級(jí)控制
    的頭像 發(fā)表于 05-19 09:18 ?856次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b>的<b class='flag-5'>定時(shí)器</b>使用-基本特征和<b class='flag-5'>定時(shí)</b>操作

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)器脈沖計(jì)數(shù)

    上一章我們介紹了CKS32F4的通用定時(shí)器定時(shí)操作的使用方法,這一章我們將向大家介紹通用定時(shí)器作為定時(shí)器
    的頭像 發(fā)表于 06-05 09:39 ?961次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b><b class='flag-5'>Timer</b>的基本<b class='flag-5'>使用方法</b>-<b class='flag-5'>定時(shí)器</b><b class='flag-5'>脈沖計(jì)數(shù)</b>

    CKS32F4xx系列RNG功能設(shè)置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機(jī)數(shù)發(fā)生簡(jiǎn)介 ? ? CKS32F4xx系列自帶了硬件隨機(jī)數(shù)發(fā)生(RNG),
    的頭像 發(fā)表于 09-08 10:01 ?556次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能設(shè)置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發(fā)表于 11-06 16:56 ?807次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發(fā)表于 11-06 16:53 ?1056次閱讀

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出
    的頭像 發(fā)表于 11-09 17:39 ?800次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b><b class='flag-5'>Timer</b>的基本<b class='flag-5'>使用方法</b>-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作
    的頭像 發(fā)表于 11-09 17:41 ?568次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b><b class='flag-5'>Timer</b>的基本<b class='flag-5'>使用方法</b>-<b class='flag-5'>定時(shí)</b>操作

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信
    的頭像 發(fā)表于 10-24 17:12 ?648次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b>SPI通信

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置
    的頭像 發(fā)表于 10-24 15:14 ?732次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b>GPIO口配置

    CKS32F4xx系列FSMC功能簡(jiǎn)介

    本課講為大家講解CKS32F4xx系列產(chǎn)品的FSMC應(yīng)用實(shí)例,F(xiàn)SMC全稱是Flexible Static Memory Controller,讀作靈活的靜態(tài)存儲(chǔ)控制,顧名思義,MCU可以通過FSMC擴(kuò)展靜態(tài)內(nèi)存
    的頭像 發(fā)表于 04-14 15:06 ?836次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC功能簡(jiǎn)介