реклама на сайте
подробности

 
 
> stm32 аппаратная обработк энкодера
Reystlin
сообщение Apr 22 2016, 04:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307



Доброго времени суток ув. форумчане
кто как обрабатывает данные снятые с таймера, который включен в режиме обработки энкодера?
у меня затык с тем, как определить направление вращения, что-бы прибавлять/вычитать значение к переменной
таймер инициализирую вот так:
CODE
//Encoder TIM3 Init
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

TIM_Time_user.TIM_Prescaler = 0;
TIM_Time_user.TIM_CounterMode = TIM_CounterMode_Up;
TIM_Time_user.TIM_Period = 256;
TIM_Time_user.TIM_ClockDivision = TIM_CKD_DIV1;

TIM_TimeBaseInit(TIM3, &TIM_Time_user);
TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI1, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
TIM_Cmd(TIM3, ENABLE);
TIM3->CNT=0;
//Encoder TIM2 Init
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

TIM_Time_user.TIM_Prescaler = 0;
TIM_Time_user.TIM_CounterMode = TIM_CounterMode_Up;
TIM_Time_user.TIM_Period = 256;
TIM_Time_user.TIM_ClockDivision = TIM_CKD_DIV1;

TIM_TimeBaseInit(TIM2, &TIM_Time_user);
TIM_EncoderInterfaceConfig(TIM2, TIM_EncoderMode_TI2, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
TIM_Cmd(TIM2, ENABLE);
//TIM2->CCMR1 = TIM_CCMR1_CC2S_0 | TIM_CCMR1_CC1S_0;
TIM2->CCER |= TIM_CCER_CC1P;
TIM3->CCER |= TIM_CCER_CC1P;
TIM2->CNT=0;


Сообщение отредактировал Reystlin - Apr 22 2016, 05:01
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Reystlin
сообщение Apr 22 2016, 10:23
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307



to Сергей Борщ
сделал вот так:
int16_t leftEnc = (int16_t)TIM3->CNT/2;
при кручении в обратную сторону в переменную leftEnc записывается значение 126 вместо -1
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01432 секунд с 7
ELECTRONIX ©2004-2016