From 408f9c4b2cf13e4f8ebd62893ed90c7620a3a24a Mon Sep 17 00:00:00 2001 From: leo Date: Sat, 29 Nov 2025 00:45:51 +0100 Subject: [PATCH] Test transmission --- Services/Batterie.c | 3 +-- Services/Batterie.h | 6 ++++-- Services/Transmission.c | 17 +++++++++++++++++ Services/Transmission.h | 7 +++++++ drivers/USART.c | 8 ++++---- drivers/USART.h | 4 ---- 6 files changed, 33 insertions(+), 12 deletions(-) create mode 100644 Services/Transmission.c create mode 100644 Services/Transmission.h diff --git a/Services/Batterie.c b/Services/Batterie.c index 1399f08..59860ea 100644 --- a/Services/Batterie.c +++ b/Services/Batterie.c @@ -28,8 +28,7 @@ void handler_ADC (void){ send_USART_String(USART1,"Batterie : "); send_USART(USART1,((int)d/10) + '0'); // Envoie le chiffre des dizaines send_USART(USART1,((int)d%10) + '0'); // Envoie le chiffre des unités - send_USART(USART1,'%'); - send_USART(USART1,'\r'); + send_USART_String(USART1,"%\r"); cpt = 0; } start_conversion(ADC1); // Recommence la conversion pour le prochain diff --git a/Services/Batterie.h b/Services/Batterie.h index 059636f..7f03b1b 100644 --- a/Services/Batterie.h +++ b/Services/Batterie.h @@ -1,7 +1,9 @@ #ifndef MYBATTERIE_H #define MYBATTERIE_H -void MyBatterie_Init(void); -void handler_ADC(void); +#include + +void MyBatterie_Init(); +void handler_ADC(); #endif \ No newline at end of file diff --git a/Services/Transmission.c b/Services/Transmission.c new file mode 100644 index 0000000..8e2c1e2 --- /dev/null +++ b/Services/Transmission.c @@ -0,0 +1,17 @@ +#include +#include +#include + +void Transmission_Init(void){ + My_USART_Init(USART1); +} + +void Transmission_allure(int angle_voiles){ + if (angle_voiles < 23) send_USART_String(USART1,"Le bateau navigue vent debout. \n"); + else if (angle_voiles < 27) send_USART_String(USART1,"Le bateau navigue au pres. \n"); + else if (angle_voiles < 38) send_USART_String(USART1,"Le bateau navigue au pres bon plein. \n"); + else if (angle_voiles < 53) send_USART_String(USART1,"Le bateau navigue au travers. \n"); + else if (angle_voiles < 71) send_USART_String(USART1,"Le bateau navigue au grand large. \n"); + else if (angle_voiles <= 90) send_USART_String(USART1,"Le bateau navigue vent arriere. \n"); + else send_USART_String(USART1,"ERREUR DANS L'ANGLE!! \n"); +} \ No newline at end of file diff --git a/Services/Transmission.h b/Services/Transmission.h new file mode 100644 index 0000000..430bd63 --- /dev/null +++ b/Services/Transmission.h @@ -0,0 +1,7 @@ +#ifndef TRANSMISSION_H +#define TRANSMISSION_H + +void Transmission_Init(void); +void Transmission_allure(int angle_voiles); + +#endif \ No newline at end of file diff --git a/drivers/USART.c b/drivers/USART.c index 2a1cf77..ff7506d 100644 --- a/drivers/USART.c +++ b/drivers/USART.c @@ -38,10 +38,10 @@ void send_USART(USART_TypeDef *USART, char data){ while(!(USART->SR & USART_SR_TXE)) {} // Attente de la fin de transmission --TC ????? Inverser 2 lignes +TC a la fin } -void send_USART_String(USART_TypeDef* USARTx, char* s) { - while (*s != '\0') { - send_USART(USARTx, *s); // ta fonction qui envoie un char - s++; +void send_USART_String(USART_TypeDef* USART, char* s) { + while (*s != '\0') { // Tant qu'on a pas le char null + send_USART(USART, *s); // Envoie un char + s++; // Passe au char suivant } } diff --git a/drivers/USART.h b/drivers/USART.h index 8ea57fe..40f02b5 100644 --- a/drivers/USART.h +++ b/drivers/USART.h @@ -1,10 +1,6 @@ #ifndef MYUSART_H #define MYUSART_H #include -#include - -#define send_USART_init(USART) USART->CR1 |= USART_CR1_TE; // Envoi de la première trame d'attente -#define read_USART_init(USART) USART->CR1 |= USART_CR1_RE; // En attente du premier bit de start void My_USART_Init(USART_TypeDef *USART); void send_USART(USART_TypeDef *USART, char data);