35 line
No EOL
837 B
C
35 line
No EOL
837 B
C
#include "App_girouette.h"
|
|
|
|
void App_Girouette_Init(void) {
|
|
MyTimer_Struct_TypeDef Encodeur;
|
|
Encodeur.Timer = TIM4;
|
|
Encodeur.channel = 2;
|
|
MyTimer_Base_Init(&Encodeur);
|
|
MyTimer_ConfigureEncoder(&Encodeur);
|
|
MyTimer_Start(&Encodeur);
|
|
|
|
// PB6 PB7
|
|
MyGPIO_Struct_TypeDef TI1;
|
|
TI1.GPIO_Pin = 6;
|
|
TI1.GPIO_Conf = In_Floating;
|
|
TI1.GPIO = GPIOB;
|
|
MyGPIO_Init(&TI1);
|
|
|
|
MyGPIO_Struct_TypeDef TI2;
|
|
TI2.GPIO_Pin = 7;
|
|
TI2.GPIO_Conf = In_Floating;
|
|
TI2.GPIO = GPIOB;
|
|
MyGPIO_Init(&TI2);
|
|
|
|
}
|
|
|
|
uint16_t App_Girouette_GetDirection(void)
|
|
{
|
|
uint16_t cnt = TIM_GetCounter(TIM4); // Lit la valeur actuelle du compteur CNT
|
|
uint16_t arr = TIM4->ARR + 1; // Lit la valeur de ARR configurée pour le timer TIM4
|
|
|
|
// Convertit la valeur CNT en direction de vent
|
|
uint16_t direction = (360.0 / 1440.0) * cnt;
|
|
|
|
return direction;
|
|
} |