YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: aosini
打印 上一主题 下一主题

编码器速度和方向检测,371电机方向与速度检测,stm32编码器接口模式

  [复制链接]

签到天数: 7 天

[LV.3]偶尔看看II

楼主
发表于 2015-8-3 21:12:27 | 显示全部楼层
孤旅人 发表于 2015-5-30 17:02
楼主,我读回来的数据是1,0,-1.这些数据诶  怎么办

请问您的问题是如何解决的,我也出现了相同的问题,能分享经验吗
回复 支持 反对

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

沙发
发表于 2015-8-3 21:47:07 | 显示全部楼层
楼主,有两个问题,一,您的程序里有用到中断吗,没有发现;二,下面是我用库函数配置的定时器

        TIM_ICInitTypeDef  TIM_ICInitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;

       
       
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
       

        TIM_DeInit(TIM2);
        TIM_TimeBaseStructure.TIM_Period = 65535;      
  TIM_TimeBaseStructure.TIM_Prescaler = 0;            //不分频
  TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;        //0
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //Ï向上计数
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

        TIM_EncoderInterfaceConfig(TIM2,     TIM_EncoderMode_TI12,TIM_ICPolarity_BothEdge,TIM_ICPolarity_BothEdge);
        TIM_ICStructInit(&TIM_ICInitStructure);
  TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;     //不分频
  TIM_ICInitStructure.TIM_ICFilter = 0x0;                  //不滤波
  TIM_ICInit(TIM2, &TIM_ICInitStructure);
  TIM2->CNT = 0;

   TIM_Cmd(TIM2, ENABLE);
哪里有问题,,还请诸位指点。  读出来的数据就只是0,1
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|联系我们|YFROBOT ( 苏ICP备20009901号-2  

GMT+8, 2024-5-7 08:09 , Processed in 0.045619 second(s), 21 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表