#include #include #include #include #include float d; short v; int p; char test; void MyBatterie_Init(void){ MyGPIO_Init(GPIOC,4,In_Analog); // Init PORT pour recevoir tension MyADC_Init(ADC1,14); // Init ADC channel 14 pour convertir valeur MyADC_ActiveIT(ADC1,15,&handler_ADC); // Init interruption quand conversion finie My_USART_Init(USART2); // Init USART pour envoyer batterie My_USART_Init(USART1); MyUSART_ActiveIT(USART1,10,&handler); start_conversion(ADC1); // Premiere conversion } void handler_ADC (void){ d = 1044;//ADC1->DR &~ (0xF << 12); // Retourne valeur numérique d = d*3.3/4096; d = d*13*100/12; p = (int) d; send_USART(USART2,(p/10) + '0'); // Envoie le chiffre des dizaines send_USART(USART2,(p%10) + '0'); // Envoie le chiffre des unités send_USART(USART2,'%'); //start_conversion(ADC1); // Recommence la conversion pour le prochain } void handler(void){ test = USART1->DR; test = test + 1; }