#include #include #include extern uint32_t tickms; uint32_t last1 = 0; uint32_t last3 = 0; uint32_t last4 = 0; void Transmission_Init(void){ My_USART_Init(USART1); //USART3 } void Transmission_allure(int angle_voiles){ if (tickms-last1 >= 5000){ last1 = tickms; if (angle_voiles < 23) send_USART_String(USART1,"Le bateau navigue vent debout. \n"); //USART3 else if (angle_voiles < 27) send_USART_String(USART1,"Le bateau navigue au pres. \n"); //USART3 else if (angle_voiles < 38) send_USART_String(USART1,"Le bateau navigue au pres bon plein. \n"); //USART3 else if (angle_voiles < 53) send_USART_String(USART1,"Le bateau navigue au travers. \n"); //USART3 else if (angle_voiles < 71) send_USART_String(USART1,"Le bateau navigue au grand large. \n"); //USART3 else if (angle_voiles <= 90) send_USART_String(USART1,"Le bateau navigue vent arriere. \n"); //USART3 else send_USART_String(USART1,"ERREUR DANS L'ANGLE!! \n"); //USART3 } } void Transmission_batterie(int batterie){ if (tickms-last3 >= 5000){ last3 = tickms; if(batterie > 50){ send_USART_String(USART1,"Batterie : "); //USART3 } else{ send_USART_String(USART1, "SEUIL DE BATTERIE ATTEINT : "); //USART3 } send_USART(USART1,(batterie/10) + '0'); // Envoie le chiffre des dizaines //USART3 send_USART(USART1,(batterie%10) + '0'); // Envoie le chiffre des unités //USART3 send_USART_String(USART1,"%\n"); //USART3 } } void Transmission_roulis(char roulis){ char angabs; if (tickms-last4 >= 2000){ last4 = tickms; if (roulis >= 40 && !(roulis & (1<<7))){ send_USART_String(USART1, "ANGLE DE ROULIS TROP ELEVE : DEBORDAGE!!! \n"); //USART3 send_USART(USART1,(roulis/10) + '0'); // Envoie le chiffre des dizaines //USART3 send_USART(USART1,(roulis%10) + '0'); // Envoie le chiffre des unités //USART3 } else if (roulis & (1<<7)) { angabs = (1<<7) - (roulis & 0x7F); if (angabs >= 40) send_USART_String(USART1, "ANGLE DE ROULIS TROP ELEVE : DEBORDAGE!!! \n"); //USART3 else send_USART_String(USART1, "Angle de roulis : "); send_USART(USART1,(angabs/10) + '0'); send_USART(USART1,(angabs%10) + '0'); } else { send_USART_String(USART1, "Angle de roulis : "); //USART3 send_USART(USART1,(roulis/10) + '0'); // Envoie le chiffre des dizaines //USART3 send_USART(USART1,(roulis%10) + '0'); // Envoie le chiffre des unités //USART3 } send_USART_String(USART1," degre(s)\n"); //USART3 } }