• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: 其他
  • 标签: STM32  

资源简介

对于需要用STM32读取编码器的反馈值,需要计数外部方波个数的同学有福了,下载可以直接用,本代码提供TIM1 TIM2的外部计数器代码。

资源截图

代码片段和文件信息

#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);  //配置外部触发
  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);  //配置外部触发
  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++;
}
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1990  2015-07-29 15:05  STM32外部计数器\TIM_Counter.c

     文件        258  2015-07-23 12:26  STM32外部计数器\TIM_Counter.h

     目录          0  2015-07-30 12:47  STM32外部计数器

----------- ---------  ---------- -----  ----

                 2248                    3


评论

共有 条评论