中科因仑“3+1”工程特种兵精英论坛

标题: STM8正交旋转编码器程序 [打印本页]

作者: 痛苦的滋味    时间: 2016-5-31 18:31
标题: STM8正交旋转编码器程序
这个程序是做数字音量控制那种编码器用的,不是测速那种,不过只要懂了这个,测速那种也差不多了,自己调试了半天走了一点歪路,其实很简单,实际可用
#define    TM1UPDATE_VECT  0x0D
#pragma vector = TM1UPDATE_VECT
__interrupt void TIM1_UPDATE_ISR( void )
{
    TIM1->SR1 = 0;      // clear overflow flag
    if(TIM1->CR1 & 0x10)
    {
        f_direct = 0;   //逆时针转
        f_encoder_1;
    }
    else
    {
        f_direct = 1;   //顺时针转
        f_encoder_1;
    }

}

void Encoder_Init_Configuration(void)
{
    TIM1->SMCR |= 0X01;   //工作在编码器模式1

    TIM1->CCMR1 |= 0X1;  //CC1 MAP TI1FP1  CH1

    TIM1->CCMR2 |= 0X1; //CC2 MAP  TI2FP2  CH2

    TIM1->ARRH = 0X00;  // 重载系数

    TIM1->ARRL = 0X01;

    TIM1->IER |=0X1;  //开中断

    TIM1->CR1 =0X1;   //启动计数
}





欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4