OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4281|回复: 1

stm32 F103 tim3 Encoder mode 模式奇怪的问题?诡异

[复制链接]

7

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2015-10-24
在线时间
26 小时
发表于 2021-3-20 13:11:19 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 zqdl8 于 2021-3-20 15:14 编辑

stm32 tim3 Encoder mode 模式奇怪的问题,这里按网上的配置,在STM32CubeMX配置了TIM3的编码器模式。编码器用的是EC11现在的情况是 编码器转动可以检测出来,数据也可以读取,但是显示的数据完全没有根据需要进行变化,数字完全是跳动的显示。而且没有规律,请前辈指导一下,呼叫@原子哥。
主程序里面的代码:
  1. uwICValue2=LL_TIM_GetCounter(TIM3);

  2.          LCD_ShowIntNum(73, 60,uwICValue2,sizeof(uwICValue2),RED,BLACK, 24);
复制代码
TIM3的初始化代码:
  1. void MX_TIM3_Init(void)
  2. {

  3.   /* USER CODE BEGIN TIM3_Init 0 */

  4.   /* USER CODE END TIM3_Init 0 */

  5.   LL_TIM_InitTypeDef TIM_InitStruct = {0};

  6.   LL_GPIO_InitTypeDef GPIO_InitStruct = {0};

  7.   /* Peripheral clock enable */
  8.   LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3);

  9.   LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
  10.   /**TIM3 GPIO Configuration
  11.   PA6   ------> TIM3_CH1
  12.   PA7   ------> TIM3_CH2
  13.   */
  14.   GPIO_InitStruct.Pin = LL_GPIO_PIN_6|LL_GPIO_PIN_7;
  15.   GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
  16.   GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
  17.   LL_GPIO_Init(GPIOA, &GPIO_InitStruct);

  18.   /* USER CODE BEGIN TIM3_Init 1 */

  19.   /* USER CODE END TIM3_Init 1 */
  20.   LL_TIM_SetEncoderMode(TIM3, LL_TIM_ENCODERMODE_X4_TI12);
  21.   LL_TIM_IC_SetActiveInput(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_ACTIVEINPUT_DIRECTTI);
  22.   LL_TIM_IC_SetPrescaler(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_ICPSC_DIV1);
  23.   LL_TIM_IC_SetFilter(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_IC_FILTER_FDIV1_N2);
  24.   LL_TIM_IC_SetPolarity(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_IC_POLARITY_RISING);
  25.   LL_TIM_IC_SetActiveInput(TIM3, LL_TIM_CHANNEL_CH2, LL_TIM_ACTIVEINPUT_DIRECTTI);
  26.   LL_TIM_IC_SetPrescaler(TIM3, LL_TIM_CHANNEL_CH2, LL_TIM_ICPSC_DIV1);
  27.   LL_TIM_IC_SetFilter(TIM3, LL_TIM_CHANNEL_CH2, LL_TIM_IC_FILTER_FDIV1_N2);
  28.   LL_TIM_IC_SetPolarity(TIM3, LL_TIM_CHANNEL_CH2, LL_TIM_IC_POLARITY_RISING);
  29.   TIM_InitStruct.Prescaler = 3;
  30.   TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;
  31.   TIM_InitStruct.Autoreload = 100;
  32.   TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;
  33.   LL_TIM_Init(TIM3, &TIM_InitStruct);
  34.   LL_TIM_DisableARRPreload(TIM3);
  35.   LL_TIM_SetTriggerOutput(TIM3, LL_TIM_TRGO_RESET);
  36.   LL_TIM_DisableMasterSlaveMode(TIM3);
  37.   /* USER CODE BEGIN TIM3_Init 2 */

  38.   /* USER CODE END TIM3_Init 2 */

  39. }
复制代码
视频地址 https://v.youku.com/v_show/id_XNTEyNDM3MDE4MA==.html

微信截图_20210320130952.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14433
金钱
14433
注册时间
2018-8-3
在线时间
1157 小时
发表于 2021-3-20 17:12:03 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 21:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表