|
【求助】STM32的tim4经过remap后接5v正交编码信号计数有问题
[复制链接]
代码 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD |RCC_APB2Periph_AFIO , ENABLE); GPIO_PinRemapConfig(GPIO_Remap_TIM4, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13; // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //floating也不对 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ; GPIO_Init(GPIOD, &GPIO_InitStructure);
TIM_SetAutoreload(TIM4, 0xffff); TIM_EncoderInterfaceConfig(TIM4, TIM_EncoderMode_TI12,TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
TIM_Cmd(TIM4, ENABLE); tim4_counter = TIM_GetCounter(TIM4);
PD12和13被remap成tim4的正交编码输入,PD12和13是5V兼容的端口,现象是计数会自动变化,编码器不供电则不会变化。当IO设置成FLOATING模式,则不接编码器都会自己变化。注:PD12和PD13除了接编码器未和其他管脚连接。
这个编码器模式我一直未正常使用过,用过的大侠指导一下,我郁闷的不行了。。。
|
|