91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 21KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-09
  • 語言: 其他
  • 標(biāo)簽: 頻率??

資源簡介

STM32利用輸入捕獲模式測量頻率,利用上升沿和下降沿的差值

資源截圖

代碼片段和文件信息

/***************
利用定時器TIM1的CH2捕獲通道測量外部輸入信號頻率(根據(jù)引腳,決定所使用的TIMx寄存器)
定時器TIM1設(shè)為輸入捕獲模式,外部信號從通道CH2進(jìn)入,并相應(yīng)串口設(shè)為浮空輸入,
高電平有效,在捕獲中斷中計算2次捕獲值的差值,從而計算信號頻率
*******************/
#include?“stm32f10x.h“
#include?“stm32f10x_tim.h“

void?RCC_Configuration(void);
void?NVIC_Configuration(void);
void?GPIO_Configuration(void);

float?TIM1_FREQ;


int?main(void)
{
/*?System?Clocks?Configuration?*/
????RCC_Configuration();

????//SysTick_Configuration();

/*?NVIC?configuration?*/
NVIC_Configuration();

/*?Configure?the?GPIO?ports?*/
GPIO_Configuration();
//?TIM_Configuration(?);//TIM初始化函數(shù)?
?
TIM_ICInitStructure.TIM_Channel?=?TIM_Channel_2;?//選擇通道2
TIM_ICInitStructure.TIM_ICPolarity?=?TIM_ICPolarity_Rising;?//輸入上升沿捕獲
TIM_ICInitStructure.TIM_ICSelection?=?TIM_ICSelection_DirectTI;?//?通道方向選擇(相位)
TIM_ICInitStructure.TIM_ICPrescaler?=?TIM_ICPSC_DIV1;?//每次檢測到捕獲輸入就觸發(fā)一次捕獲
//(預(yù)分頻系數(shù))
TIM_ICInitStructure.TIM_ICFilter?=?0x0;?//濾波系數(shù)
TIM_ICInit(TIM1?&TIM_ICInitStructure);

TIM_ITConfig(TIM1?TIM_IT_CC2?ENABLE);?//打開中斷

TIM_Cmd(TIM1?ENABLE);?//啟動TIM1
while(1);
Tim1_SetupNVIC();
?
}

void?RCC_Configuration(void)
{
/*?TIM1?clock?enable?*/
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM1?ENABLE);
?/*?GPIOA?and?GPIOB?clock?enable?*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA?ENABLE);
}

void?NVIC_Configuration(void)
{
??NVIC_InitTypeDef?NVIC_InitStructure;

??/*?Enable?the?TIM1?global?Interrupt?*/
??NVIC_InitStructure.NVIC_IRQChannel?=?TIM1_IRQn;
??NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority?=?0;
??NVIC_InitStructure.NVIC_IRQChannelSubPriority?=?1;
??NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE;
??NVIC_Init(&NVIC_InitStructure);
}

void?GPIO_Configuration(void)
{
/*?TIM1?channel?2?pin?(PA.06)?configuration?*/
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IN_FLOATING;//浮空輸入
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
GPIO_Init(GPIOC?&GPIO_InitStructure);

}

/***********中斷配置*************/
void?Tim1_SetupNVIC(void)
{
NVIC_InitTypeDef?NVIC_InitStructure;
#ifdef?VECT_TAB_RAM

NVIC_SetVectorTable(NVIC_VectTab_RAM?0x0);
#else

NVIC_SetVectorTable(NVIC_VectTab_FLASH?0x0);
#endif

NVIC_InitStructure.NVIC_IRQChannel?=?TIM1_CC_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority?=?0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority?=?1;
NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE;
NVIC_Init(&NVIC_InitStructure);
}

/************中斷里面做的事情**************/
void?TIM1_IRQHandler(void)//?用相應(yīng)的定時器中斷?
{
if?(TIM_GetITStatus(TIM1?TIM_IT_CC2)?!=?RESET)//是TIM1CH2
{
TIM_ClearITPendingBit(TIM1?TIM_IT_CC2);//清空捕獲標(biāo)志
//第一次捕獲
if(capture_number==0?)
{
? Ic1_readvalue1?=?TIM_GetCapture2(TIM1);//保留捕獲值
? capture_number=1;//設(shè)置標(biāo)志
}
//第二次捕獲
else?if(capture_number==1)
{
? ?Ic1_readvalue2?=?TIM_GetCapture2(TIM1);//保留捕獲值
}
//若脈寬較長時,定時器可能溢出,需對溢出進(jìn)行處理
//考慮是否溢出,計算兩次的差值
if(Ic1_readvalue1>Ic1_readval

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-02-03?10:36??輸入捕獲模式測量頻率\
?????文件????????3509??2015-02-03?10:36??輸入捕獲模式測量頻率\capture_frequency.c
?????目錄???????????0??2015-01-26?19:57??輸入捕獲模式測量頻率\參考一\
?????目錄???????????0??2015-02-02?15:22??輸入捕獲模式測量頻率\參考一\PWM_Input\
?????目錄???????????0??2015-02-02?15:07??輸入捕獲模式測量頻率\參考一\PWM_Input\Debug\
?????文件???????33792??2015-02-02?15:07??輸入捕獲模式測量頻率\參考一\PWM_Input\Debug\vc60.idb
?????文件???????28672??2015-02-02?15:07??輸入捕獲模式測量頻率\參考一\PWM_Input\Debug\vc60.pdb
?????文件????????7486??2015-02-02?15:07??輸入捕獲模式測量頻率\參考一\PWM_Input\main.c
?????文件????????3375??2015-02-02?15:07??輸入捕獲模式測量頻率\參考一\PWM_Input\main.dsp
?????文件?????????516??2015-02-02?15:22??輸入捕獲模式測量頻率\參考一\PWM_Input\main.dsw
?????文件???????33792??2015-02-02?15:22??輸入捕獲模式測量頻率\參考一\PWM_Input\main.ncb
?????文件???????48640??2015-02-02?15:22??輸入捕獲模式測量頻率\參考一\PWM_Input\main.opt
?????文件?????????886??2015-02-02?15:07??輸入捕獲模式測量頻率\參考一\PWM_Input\main.plg
?????文件????????2781??2009-05-07?14:50??輸入捕獲模式測量頻率\參考一\PWM_Input\readme.txt
?????文件????????6305??2009-05-07?14:50??輸入捕獲模式測量頻率\參考一\PWM_Input\stm32f10x_conf.h
?????文件???????29566??2009-05-07?14:50??輸入捕獲模式測量頻率\參考一\PWM_Input\stm32f10x_it.c
?????文件????????3842??2009-05-07?14:50??輸入捕獲模式測量頻率\參考一\PWM_Input\stm32f10x_it.h
?????文件????????2703??2015-02-02?15:49??輸入捕獲模式測量頻率\參考三定時器輸入捕獲.txt
?????文件????????3413??2015-02-02?15:22??輸入捕獲模式測量頻率\參考二.c

評論

共有 條評論