初级会员

- 积分
- 70
- 金钱
- 70
- 注册时间
- 2015-10-24
- 在线时间
- 26 小时
|
1金钱
本帖最后由 zqdl8 于 2021-3-20 15:14 编辑
stm32 tim3 Encoder mode 模式奇怪的问题,这里按网上的配置,在STM32CubeMX配置了TIM3的编码器模式。编码器用的是EC11现在的情况是 编码器转动可以检测出来,数据也可以读取,但是显示的数据完全没有根据需要进行变化,数字完全是跳动的显示。而且没有规律,请前辈指导一下,呼叫@原子哥。
主程序里面的代码:
- uwICValue2=LL_TIM_GetCounter(TIM3);
- LCD_ShowIntNum(73, 60,uwICValue2,sizeof(uwICValue2),RED,BLACK, 24);
复制代码 TIM3的初始化代码:
- void MX_TIM3_Init(void)
- {
- /* USER CODE BEGIN TIM3_Init 0 */
- /* USER CODE END TIM3_Init 0 */
- LL_TIM_InitTypeDef TIM_InitStruct = {0};
- LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
- /* Peripheral clock enable */
- LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3);
- LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
- /**TIM3 GPIO Configuration
- PA6 ------> TIM3_CH1
- PA7 ------> TIM3_CH2
- */
- GPIO_InitStruct.Pin = LL_GPIO_PIN_6|LL_GPIO_PIN_7;
- GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
- GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
- LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- /* USER CODE BEGIN TIM3_Init 1 */
- /* USER CODE END TIM3_Init 1 */
- LL_TIM_SetEncoderMode(TIM3, LL_TIM_ENCODERMODE_X4_TI12);
- LL_TIM_IC_SetActiveInput(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_ACTIVEINPUT_DIRECTTI);
- LL_TIM_IC_SetPrescaler(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_ICPSC_DIV1);
- LL_TIM_IC_SetFilter(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_IC_FILTER_FDIV1_N2);
- LL_TIM_IC_SetPolarity(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_IC_POLARITY_RISING);
- LL_TIM_IC_SetActiveInput(TIM3, LL_TIM_CHANNEL_CH2, LL_TIM_ACTIVEINPUT_DIRECTTI);
- LL_TIM_IC_SetPrescaler(TIM3, LL_TIM_CHANNEL_CH2, LL_TIM_ICPSC_DIV1);
- LL_TIM_IC_SetFilter(TIM3, LL_TIM_CHANNEL_CH2, LL_TIM_IC_FILTER_FDIV1_N2);
- LL_TIM_IC_SetPolarity(TIM3, LL_TIM_CHANNEL_CH2, LL_TIM_IC_POLARITY_RISING);
- TIM_InitStruct.Prescaler = 3;
- TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;
- TIM_InitStruct.Autoreload = 100;
- TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;
- LL_TIM_Init(TIM3, &TIM_InitStruct);
- LL_TIM_DisableARRPreload(TIM3);
- LL_TIM_SetTriggerOutput(TIM3, LL_TIM_TRGO_RESET);
- LL_TIM_DisableMasterSlaveMode(TIM3);
- /* USER CODE BEGIN TIM3_Init 2 */
- /* USER CODE END TIM3_Init 2 */
- }
复制代码 视频地址 https://v.youku.com/v_show/id_XNTEyNDM3MDE4MA==.html。
|
-
|