Projet-Voilier-3/projet-voilier/src/App_girouette.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;
}