打印
[STM32F1]

关于编码器计数器

[复制链接]
1036|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
清晨的日出|  楼主 | 2014-4-16 20:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void TIM3_Configuration(void)
{                       
            TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
                        TIM_ICInitTypeDef TIM_ICInitStructure;                       
                        TIM_TimeBaseStructure.TIM_Period =20;
                        TIM_TimeBaseStructure.TIM_Prescaler =TIM_ICPSC_DIV1; // No prescaling                          
                        TIM_TimeBaseStructure.TIM_ClockDivision = 0;
                        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;   
                        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);

                       
                        TIM_EncoderInterfaceConfig(TIM3,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising);

                        TIM_ICStructInit(&TIM_ICInitStructure);
                        TIM_ICInitStructure.TIM_ICFilter = 6;//ICx_FILTER;
                        //TIM_ICInitStructure.TIM_ICPrescaler=TIM_ICPSC_DIV1;
                        TIM_ICInit(TIM3,&TIM_ICInitStructure);
                       
                        // Clear all pending interrupts
                        TIM_ClearFlag(TIM3, TIM_FLAG_Update);
                        TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
                        //Reset counter
                        //TIM3->CNT = 0;
                        TIM_SetCounter(TIM3,0);
                        TIM_Cmd(TIM3, ENABLE);
}

这个程序的问题是  当外部正交编码器的脉冲式自动装载寄存器值得一半时就发生中断  是为什么啊???
沙发
lyg407| | 2014-5-19 16:08 | 只看该作者
别人的程序吧?  

你看看  读取  定时器的计数值 变量 类型是不是   signed int     就是s16    -32768 到 32767

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝