GD32F150 正交译码器配置的问题

[复制链接]
1551|19
手机看帖
扫描二维码
随时随地手机跟帖
1306720549|  楼主 | 2017-7-7 10:48 | 显示全部楼层 |阅读模式
void TIM3_Cap_Init(void)
{
        RCC_AHBPeriphClock_Enable( RCC_AHBPERIPH_GPIOB, ENABLE );
        RCC_APB1PeriphClock_Enable( RCC_APB1PERIPH_TIMER3,ENABLE );
       
/*************³õʼ»¯GPIO****************/
       
        {
        GPIO_InitPara GPIO_InitStructure;
                                       
        GPIO_InitStructure.GPIO_Pin     = GPIO_PIN_5 | GPIO_PIN_4;
        GPIO_InitStructure.GPIO_Mode    = GPIO_MODE_AF;
//        GPIO_InitStructure.GPIO_OType   = GPIO_OTYPE_PP;
        GPIO_InitStructure.GPIO_PuPd    = GPIO_PUPD_PULLDOWN;
        GPIO_InitStructure.GPIO_Speed   = GPIO_SPEED_50MHZ;
        GPIO_Init( GPIOB , &GPIO_InitStructure );
               
        GPIO_PinAFConfig(GPIOB,GPIO_PINSOURCE5,GPIO_AF_1); //GPIO¸´ÓÃ
        GPIO_PinAFConfig(GPIOB,GPIO_PINSOURCE4,GPIO_AF_1); //GPIO¸´ÓÃ
  }
//******************ÓÅÏȼ¶ÉèÖÃ****************//
  {
        NVIC_InitPara NVIC_InitStructure;
                                       
        NVIC_InitStructure.NVIC_IRQ                  = TIMER3_IRQn;//         
        NVIC_InitStructure.NVIC_IRQPreemptPriority   = 0;//                  
        NVIC_InitStructure.NVIC_IRQSubPriority       = 1;//                  
        NVIC_InitStructure.NVIC_IRQEnable            = ENABLE;//              
        NVIC_Init( &NVIC_InitStructure );//
  }               
//******************TIM3³õʼ»¯***************//        
  {
        TIMER_BaseInitPara TIM_TimeBaseStructure;
        TIMER_ICInitPara   TIM_ICInitStructure;

        TIMER_DeInit( TIMER3 );

        TIM_TimeBaseStructure.TIMER_Period = 65535 ;
        TIM_TimeBaseStructure.TIMER_Prescaler = 0 ;
        TIM_TimeBaseStructure.TIMER_ClockDivision = TIMER_CDIV_DIV1;
        TIM_TimeBaseStructure.TIMER_CounterMode = TIMER_COUNTER_UP;  
        TIMER_BaseInit(TIMER3, &TIM_TimeBaseStructure);               

        TIMER_EncoderInterfaceConfig( TIMER3 , TIMER_ENCODER_MODE_TI1 ,
                                           TIMER_IC_POLARITY_BOTH_EDGE , TIMER_IC_POLARITY_BOTH_EDGE );               
        TIMER_ICStructInit(&TIM_ICInitStructure);           
        TIM_ICInitStructure.TIMER_ICFilter  = 6;
        TIMER_ICInit(TIMER3, &TIM_ICInitStructure);
        TIMER_SetAutoreload(TIMER3,65535);       
        TIMER_ClearBitState(TIMER3, TIMER_FLAG_UPDATE );       
        TIMER_INTConfig(TIMER3, TIMER_INT_UPDATE, ENABLE);
        TIMER3->CNT = 0;
        TIMER_Enable(TIMER3, ENABLE);   
    }
}
配置能够进入中断,但计数器TIMER3->CNT只有0与1的变化,读不到其他值,望大神指点!!!
风呼呼| | 2017-7-7 11:16 | 显示全部楼层
帮顶~求大神分享代码

使用特权

评论回复
1306720549|  楼主 | 2017-7-7 13:35 | 显示全部楼层
没人解答,自顶。。。。。。。。。。。

使用特权

评论回复
风呼呼| | 2017-7-7 20:10 | 显示全部楼层
1306720549 发表于 2017-7-7 13:35
没人解答,自顶。。。。。。。。。。。

再顶~

使用特权

评论回复
风呼呼| | 2017-7-7 20:11 | 显示全部楼层
我顶~

使用特权

评论回复
vibra2016| | 2017-7-19 22:09 | 显示全部楼层
正交译码器是作何用的?

使用特权

评论回复
vibra2016| | 2017-7-19 22:10 | 显示全部楼层
一些简单的译码器的倒还设计过的,这个没听说的呢

使用特权

评论回复
vibra2016| | 2017-7-19 22:13 | 显示全部楼层
这个是定义的——如果两个周期为T的信号S1(t)和S2(t)互相正交则:

设 x=(x1,x2,x3...xn)

y=(y1,y2,y3...yn)

则有

如果ρ(x,y)=1/n*∑xiyi

必得ρ(x,y)=0

使用特权

评论回复
vibra2016| | 2017-7-19 22:14 | 显示全部楼层
看着也不是很复杂的哈,,关键是用代码怎么来实现的?

使用特权

评论回复
chuntian2016| | 2017-7-19 22:50 | 显示全部楼层
正交译码与正交编码是互为逆过程的

使用特权

评论回复
chuntian2016| | 2017-7-19 22:51 | 显示全部楼层
这个主要是为了保障数据信息安全的有效措施的。

使用特权

评论回复
baimiaocun2015| | 2017-7-22 12:12 | 显示全部楼层
这个仅仅是timer的应用的哈

使用特权

评论回复
comeon201208| | 2017-7-26 21:51 | 显示全部楼层
正交译码器的还没怎用过的。。

使用特权

评论回复
shenmu2012| | 2017-7-28 21:41 | 显示全部楼层
这正交译码器的不很了解的,但这个代码的还是挺简洁的。

使用特权

评论回复
shenmu2012| | 2017-7-28 21:43 | 显示全部楼层
这个主要是采用定时器的功能实现的。

使用特权

评论回复
vivilzb1985| | 2017-7-30 21:32 | 显示全部楼层
这个用定时器的来实现,是非常新颖的思路。

使用特权

评论回复
baimiaocun2015| | 2017-8-26 11:03 | 显示全部楼层
vibra2016 发表于 2017-7-19 22:13
这个是定义的——如果两个周期为T的信号S1(t)和S2(t)互相正交则:

设 x=(x1,x2,x3...xn)

这个看注意的算法实现了

使用特权

评论回复
tongbu2015| | 2017-8-26 22:28 | 显示全部楼层
正交译码器的设计的还是有难度的。

使用特权

评论回复
chuntian2016| | 2017-8-27 20:05 | 显示全部楼层
正交译码器的设计非常复杂的

使用特权

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

本版积分规则

2

主题

13

帖子

1

粉丝