資源簡(jiǎn)介
對(duì)于需要用STM32讀取編碼器的反饋值,需要計(jì)數(shù)外部方波個(gè)數(shù)的同學(xué)有福了,下載可以直接用,本代碼提供TIM1 TIM2的外部計(jì)數(shù)器代碼。

代碼片段和文件信息
#include?“stm32f10x.h“
#include?“TIM_Counter.h“
u32?hEncoderOverf1?=?0;
u32?hEncoderOverf2?=?0;
u32?hEncoderOverf1_last?=?0;
u32?hEncoderOverf2_last?=?0;
void?TIM_ETR_Init(void)
{
GPIO_InitTypeDef?GPIO_InitStructure;
TIM_TimebaseInitTypeDef?TIM_TimebaseStructure;?
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA?|?RCC_APB2Periph_GPIOB?|?RCC_APB2Periph_TIM1?ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2?ENABLE);
/*?PA0PA12->??*/
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_0|GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IN_FLOATING;?//
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;?//50M????
GPIO_Init(GPIOA?&GPIO_InitStructure);
//Timer2?Config
TIM2->PSC?=?0;?????????//?Set?prescaler?(PSC?+?1)
TIM2->ARR?=?0xffff;???????????//?Auto?reload?value?2000
TIM2->DIER?=?TIM_DIER_UIE;?//?Enable?update?interrupt?(timer?level)
TIM2->CR1?=?TIM_CR1_CEN;???//?Enable?timer
NVIC_EnableIRQ(TIM2_IRQn);?//?Enable?interrupt?from?TIM2?(NVIC?level)
TIM_ITRxExternalClockConfig(TIM2TIM_TS_ETRF);? //配置外部觸發(fā)
? TIM_ETRClockMode2Config(TIM2?TIM_ExtTRGPSC_OFF?TIM_ExtTRGPolarity_NonInverted?0);
TIM2->CNT?=?0;
TIM1->PSC?=?0;?????????//?Set?prescaler?(PSC?+?1)
TIM1->ARR?=?0xffff;???????????//?Auto?reload?value?2000
TIM1->DIER?=?TIM_DIER_UIE;?//?Enable?update?interrupt?(timer?level)
TIM1->CR1?=?TIM_CR1_CEN;???//?Enable?timer
NVIC_EnableIRQ(TIM1_UP_IRQn);?//?Enable?interrupt?from?TIM2?(NVIC?level)
TIM_ITRxExternalClockConfig(TIM1TIM_TS_ETRF);? //配置外部觸發(fā)
? TIM_ETRClockMode2Config(TIM1?TIM_ExtTRGPSC_OFF?TIM_ExtTRGPolarity_NonInverted?0);
TIM1->CNT?=?0;
}
void?TIM2_IRQHandler(void)
{
?
if?(TIM_GetITStatus(TIM2?TIM_IT_Update)?!=?RESET)
{
TIM_ClearITPendingBit(TIM2?TIM_IT_Update);?
hEncoderOverf1++;
}
}
void?TIM1_UP_IRQHandler(void)
{
?
if?(TIM_GetITStatus(TIM1?TIM_IT_Update)?!=?RESET)
{
TIM_ClearITPendingBit(TIM1?TIM_IT_Update);?
hEncoderOverf2++;
}
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????1990??2015-07-29?15:05??STM32外部計(jì)數(shù)器\TIM_Counter.c
?????文件????????258??2015-07-23?12:26??STM32外部計(jì)數(shù)器\TIM_Counter.h
?????目錄??????????0??2015-07-30?12:47??STM32外部計(jì)數(shù)器
-----------?---------??----------?-----??----
?????????????????2248????????????????????3
評(píng)論
共有 條評(píng)論