#include "stm32f10x.h" #include #include #include #include #include #include #include #include #include /* Declarations */ int droite; int b; int testBatterie ; int bat; int ID_acc,ID_acc2; int counter = 0; char* visuBatterie = "[-----]"; MyTimer_Struct_TypeDef TIM; MyTimer_Struct_TypeDef * Data = &TIM; void handler() { counter ++; /*fonctions joel gwen*/ // // // // // // // // // // // // // // // // if (counter == 10) { bat = Get_Batterie(); if (bat < 20) { visuBatterie = "[-----]"; } else if (bat < 40) { visuBatterie = "[##---]"; } else if (bat < 60) { visuBatterie = "[###--]"; } else if (bat < 80) { visuBatterie = "[####-]"; } else { visuBatterie = "[#####]"; } Send_Message("Batterie : "); Send_Message(visuBatterie); Send_Message("\r"); counter = 0; } } void f (char a) { if (a>> 7 & 1) { droite = 1; b = 256 - a; Set_Moteur_Plateau(HORRAIRE, b); } else { droite = 0; b = a; Set_Moteur_Plateau(ANTI_HORRAIRE, b); } } int main (void) { /* Configuration du Timer */ Data->Timer = TIM1; Data->ARR = 65535; Data->PSC = 548; MyTimer_Base_Init(Data); MyTimer_Base_Start(TIM1); MyTimer_ActiveIT(TIM1, 1, &handler); /* Pour la telecommande */ Init_USART(USART1); Init_Message_Reception(&f); Init_Plateau(); Init_Girouette(); MyVoile_Init(); MySPI_Init(SPI1); MySPI_Clear_NSS(); MySPI_Send(0x2D); MySPI_Send(1<<3); MySPI_Set_NSS(); /* Batterie */ Init_Batterie(); while (1) { MySPI_Clear_NSS(); MySPI_Send(0x37); MySPI_Set_NSS(); MySPI_Clear_NSS(); ID_acc = MySPI_Read(); ID_acc2 = MySPI_Read(); MySPI_Set_NSS(); Set_Voile(Get_Angle()); } }