資源簡介
STM32 定時器捕獲PWM波 以及占空比

代碼片段和文件信息
#include?“timer2.h“
u16?Value1Value2Value3Value4;
float?t;
//端口配置函數(shù)
//將PA0配置為浮空輸入
void?PA0_Init(void)
{
???RCC->APB2ENR|=1<<2;
???GPIOA->CRL&=0xFFFFFFF0;
???GPIOA->CRL|=0x00000004;????//將PA0口設(shè)置為浮空輸入模式
}
//定時器1設(shè)置為輸入捕獲模式
//CH1用于測周期
//CH2用于測高電平
//72M/(psc+1)
void?TIM2_Capture_Init(u8?psc)
{
???PA0_Init();
???RCC->APB1ENR|=1<<0;
???TIM2->PSC=psc;? ?//不進(jìn)行分頻
???TIM2->ARR=65535; ??
???TIM2->CCMR1|=1<<0;????????//IC1映射到TI1上,設(shè)為輸入捕獲模式
???//TIM1->CCMR1|=7<<4;????????//這里采樣頻率為基準(zhǔn)頻率的1/4,且N=8,設(shè)CLK為72M時,高于2.6M捕獲不到
???TIM2->CCER&=~(1<<1);??????//捕獲發(fā)生在IC1的上升沿
???TIM2->CCMR1|=2<<8;????????//IC2映射到TI1上,即用TI1FP2去觸發(fā)CH2,
???TIM2->CCER|=1<<5;?????????//TI1下降沿觸發(fā)
???TIM2->SMCR|=5<<4;?????????//選擇觸發(fā)源為濾波獲得定時器1
???TIM2->SMCR|=4<<0;?????????//選擇復(fù)位模式,即選中的觸發(fā)輸入的上升沿會重新初始化計數(shù)器
???TIM2->CCER|=1<<0;?????????//捕獲1使能
???TIM2->CCER|=1<<4;?????????//捕獲2使能
???TIM2->DIER|=1<<1;?????????//使能捕獲1中斷
???TIM2->DIER|=1<<2;?????????//使能捕獲2中斷*/
???//TIM2->DIER|=1<<0;??? ?//允許更新中斷
???//TIM2->DIER|=1<<6;?????????//允許觸發(fā)中斷
???TIM2->CR1|=1<<0;? ?//開啟定時器1
???MY_NVIC_Init(13TIM2_IRQChannel2);
}
//中斷處理函數(shù)
void??TIM2_IRQHandler(void)
{
???if(TIM2->SR&0x02) ??//如果CC1通道捕獲成功
???{
??? ??Value1=TIM2->CCR1;??????//將捕獲寄存器送與變量Value1
??? ??TIM2->SR&=0xFFFD;
???}else?if(TIM2->SR&0x04)
???{
??? ??Value2=TIM2->CCR2;??????//如果CC2通道捕獲成功
??? ??TIM2->SR&=0xFFFB;???????//將中斷標(biāo)志清零
???}
}
//處理函數(shù),將VALUE的值轉(zhuǎn)化為相應(yīng)的頻率值
void?Change(void)
{
???Value3=72000000/(Value1+1);???//當(dāng)psc為0時該式成立
???t=((float)Value2)/((float)(Value1));
???t=t*100;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-05-30?17:27??定時器捕獲PWM波??以及占空比\
?????文件?????????134??2011-08-08?20:44??定時器捕獲PWM波??以及占空比\介紹.txt
?????目錄???????????0??2012-05-30?17:27??定時器捕獲PWM波??以及占空比\程序\
?????目錄???????????0??2012-05-30?17:27??定時器捕獲PWM波??以及占空比\程序\TIM2\
?????文件????????1803??2011-08-27?08:43??定時器捕獲PWM波??以及占空比\程序\TIM2\timer2.c
?????文件?????????195??2012-07-22?21:25??定時器捕獲PWM波??以及占空比\程序\TIM2\timer2.h
?????目錄???????????0??2012-05-30?17:27??定時器捕獲PWM波??以及占空比\程序\TIM3\
?????文件?????????702??2011-08-08?20:49??定時器捕獲PWM波??以及占空比\程序\TIM3\timer3.c
?????文件?????????134??2011-08-08?10:46??定時器捕獲PWM波??以及占空比\程序\TIM3\timer3.h
評論
共有 條評論