Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: magnetron - 20 Ekim 2013, 20:04:27

Başlık: stm32f4 timeri enkoder modda çalıştıramadım
Gönderen: magnetron - 20 Ekim 2013, 20:04:27
merhaba forum,

stm32f4 işlemcinin timer_1' ini enkoder modda çalıştıramadım
enkoder sinyalerini 75175 ten geçirdim A B sinyallerini oluşturdum
osiloskopta baktım sinyaller geliyor
ama timer enkoderi saymıyor

kodlar aşağıda bir yorum yaparsanız teşekkür ederim

void Encoderinit(void) {
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_11;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_Init(GPIOE, &GPIO_InitStructure);

    GPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO_AF_TIM1);
    GPIO_PinAFConfig(GPIOE,GPIO_PinSource11,GPIO_AF_TIM1);
  /* Time base configuration */
  TIM_TimeBaseStructure.TIM_Period = 0xffff;
  TIM_TimeBaseStructure.TIM_Prescaler = 0;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

  TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);

  TIM_EncoderInterfaceConfig(TIM1,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising );

  TIM_ITConfig(TIM1,TIM_IT_Update , ENABLE);

  TIM_Cmd(TIM1, ENABLE);
  TIM1->CNT=0;
}

main döngüsü içinde de enkoder değerini saniyede 100 defa okuyorum ama hep 0 değerinde
      enkoder=TIM1->CNT;