From 8db2e226b8e6fbb02137b904e7595b64aa46d053 Mon Sep 17 00:00:00 2001 From: Samuel Date: Sat, 31 Jan 2026 10:38:41 +0100 Subject: [PATCH] Fonction pour obtenir la commande PWM --- Moteurs.c | 22 ++++++++++++++++++++++ Moteurs.h | 1 + 2 files changed, 23 insertions(+) diff --git a/Moteurs.c b/Moteurs.c index a3dc9a8..f828811 100644 --- a/Moteurs.c +++ b/Moteurs.c @@ -21,6 +21,7 @@ #define M2_VITESSE 9 //4B uint slice_moteur_A, slice_moteur_B, slice_moteur_C; +int moteur_a_pwm, moteur_b_pwm; /// @brief Initialisation les entrées / sorties requises pour les moteurs void Moteur_Init(){ @@ -50,6 +51,27 @@ void Moteur_Init(){ Moteur_SetVitesse(MOTEUR_B, 0); } +/// @brief Renvoie la commande signée sur 16 bits du PWM +/// @param moteur MOTEUR_A ou MOTEUR_B +/// @return +int16_t Moteur_GetVitesse(enum t_moteur moteur){ + uint16_t u_vitesse; + switch (moteur) + { + case MOTEUR_A: + return moteur_a_pwm; + break; + + case MOTEUR_B: + return moteur_b_pwm; + break; + + default: + return 0; + break; + } +} + /// @brief Configure le PWM et la broche de sens en fonction de la vitesse et du moteur /// @param moteur : Moteur (voir enum t_moteur) diff --git a/Moteurs.h b/Moteurs.h index 1eed7da..a072484 100644 --- a/Moteurs.h +++ b/Moteurs.h @@ -11,4 +11,5 @@ enum t_moteur { void Moteur_Init(void); void Moteur_SetVitesse(enum t_moteur moteur, int16_t vitesse ); +int16_t Moteur_GetVitesse(enum t_moteur moteur); void Moteur_Stop(void);