#include "MySequencer.h" #include "MySysTick.h" #include "Moteur.h" #include "MyRF.h" #include "girouette.h" #include "antichavirement.h" #include "ADC.h" #include "MyPWM.h" #include "stm32f1xx_ll_tim.h" int cnt_3sec = 0; float pourcentage = 0.0; void MySequencer_Task_10ms (void); void MySequencer_Conf(void) { MySysTick_Conf(0xAFC80); MySysTick_IT_Conf(MySequencer_Task_10ms,3); MySysTick_IT_Enable(); } /** * @brief Tâche à lancer toutes les 10ms * @note None * @param None * @retval None */ void MySequencer_Task_10ms (void) { //Incrémentation du compteur pour envoi toutes les 3 secondes cnt_3sec++; //Transmission données toutes les 3 secondes if(cnt_3sec == 300) { MyRF_Transmit_3s((int)((Calcul_pourcentage_duree()-0.05)*2000.0), (int)(Angle_Vent())); cnt_3sec = 0; } //Réglage sens et vitesse moteur int Duty_Cycle = MyRF_Input_Duty_Cycle(); if (Duty_Cycle >= 0) { Moteur_Speed(Duty_Cycle); Moteur_Sens(1); } else { Moteur_Speed(-Duty_Cycle); Moteur_Sens(0); } //Gestion de l'antichavirement antichavirement(start_ADC()); //Gestion du bordage pourcentage = Calcul_pourcentage_duree(); pourcentage *= 1000; MyPWM_girouette_Set_Impulse_Duration(TIM1,pourcentage,LL_TIM_CHANNEL_CH1); }