资讯详情

STM32:编码器模式

为了配置计时器读取编码器,需要执行以下步骤: 设置以下寄存器 img步骤

  • 以编码器模式设置定时器2,有两个输入通道(组合)
  • 设置应连接到编码器软件开关按钮的引脚 GPIO 输入引脚
  • 将 UART1 模块设置在异步模式下 9600bps 运行
  • 读取 timer2 计数器寄存器值,数字和按钮状态通过串行端口打印

首先,我们首先启用对 stm32 的 TIM2 的时钟访问

RCC->APB1ENR|=RCC_APB1ENR_TIM2EN; 

然后将计时器的最大值设置为以下计数

TIM2->ARR = max_value; 

然后按以下方式设置机器人 CC1S 和 CC2S

TIM2->CCMR1 |= (TIM_CCMR1_CC1S_0 | TIM_CCMR1_CC2S_0 );  

将两个通道设置为输入,如下所示

TIM2->CCER &= ~(TIM_CCER_CC1P | TIM_CCER_CC2P); 

现在,我们告诉你 TIM 在编码器模式下运行,如下所示

TIM2->SMCR |= TIM_SMCR_SMS_0 | TIM_SMCR_SMS_1; 

最后,启用计时器,如下所示

TIM2->CR1 |= TIM_CR1_CEN ; 

读取编码器只需读取当前的计时器计数器,如下所示

uint32_t read_encoder(void)     {              return TIM2->CNT;          } 

您可以从这里下载整个项目(使用它)UART显示结果)

编码器

标签: cr1mt交流功率固态继电器cr1u系列特殊型固态继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台