Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Encoder mode init
- TIM_TimeBaseStructure.TIM_Period = 0x6;
- TIM_TimeBaseStructure.TIM_Prescaler = 0;
- 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_SetCounter(TIM3, 0x3);
- TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
- TIM_Cmd(TIM3, ENABLE);
- NVIC_EnableIRQ(TIM3_IRQn);
- void TIM3_IRQHandler()
- {
- if (TIM3->CR1 & TIM_CR1_DIR)
- ENC.RotDir = ENC_Rot_Down;
- else
- ENC.RotDir = ENC_Rot_Up;
- ENC.NewRotEvent = 1;
- TIM_SetCounter(TIM3, 0x3);
- TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement