33 lines
713 B
C
33 lines
713 B
C
#include "IncrEncoder.h"
|
|
#include "stm32f1xx_ll_gpio.h"
|
|
#include "stm32f1xx_ll_bus.h"
|
|
#include "stm32f1xx_ll_exti.h"
|
|
|
|
int index_passed = 0;
|
|
|
|
void init(void){
|
|
// use timer in encoder mode (14.3.16)
|
|
// attach interrupt to pa5 for i
|
|
// enable gpio clock
|
|
// configure pin
|
|
// attach interrupt?
|
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
|
|
|
|
LL_GPIO_InitTypeDef index_pin_conf;
|
|
index_pin_conf.Mode = LL_GPIO_MODE_FLOATING;
|
|
index_pin_conf.Pin = LL_GPIO_PIN_5;
|
|
LL_GPIO_Init(GPIOC, &index_pin_conf);
|
|
|
|
NVIC_SetPriority(EXTI9_5_IRQn, 12); // prio??
|
|
NVIC_EnableIRQ(EXTI9_5_IRQn);
|
|
|
|
}
|
|
|
|
void EXTI9_5_IRQHandler(void){
|
|
index_passed = 1;
|
|
// TODO clear pending
|
|
}
|
|
|
|
int isAbsolute(void);
|
|
|
|
int getAngle(void);
|