Envoie de batterie propre
This commit is contained in:
parent
829efa26f8
commit
4fe43b9d7a
3 changed files with 22 additions and 9 deletions
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
float d;
|
float d;
|
||||||
int p;
|
int p;
|
||||||
|
uint32_t cpt = 0;
|
||||||
|
|
||||||
void MyBatterie_Init(void){
|
void MyBatterie_Init(void){
|
||||||
MyGPIO_Init(GPIOC,4,In_Analog); // Init PORT pour recevoir tension
|
MyGPIO_Init(GPIOC,4,In_Analog); // Init PORT pour recevoir tension
|
||||||
|
|
@ -19,14 +20,17 @@ void MyBatterie_Init(void){
|
||||||
}
|
}
|
||||||
|
|
||||||
void handler_ADC (void){
|
void handler_ADC (void){
|
||||||
|
cpt++;
|
||||||
|
if (cpt >= 400000) {
|
||||||
d = ADC1->DR &~ (0xF << 12); // Retourne valeur numérique
|
d = ADC1->DR &~ (0xF << 12); // Retourne valeur numérique
|
||||||
d = d*3.3/4096;
|
d = d*3.3/4096;
|
||||||
d = d*13*100/12;
|
d = d*13*100/12;
|
||||||
//if ((p%10 > (int)d%10+2) || (p%10 < (int)d%10-2)){
|
send_USART_String(USART1,"Batterie : ");
|
||||||
p = (int) d;
|
send_USART(USART1,((int)d/10) + '0'); // Envoie le chiffre des dizaines
|
||||||
send_USART(USART1,(p/10) + '0'); // Envoie le chiffre des dizaines
|
send_USART(USART1,((int)d%10) + '0'); // Envoie le chiffre des unités
|
||||||
send_USART(USART1,(p%10) + '0'); // Envoie le chiffre des unités
|
|
||||||
send_USART(USART1,'%');
|
send_USART(USART1,'%');
|
||||||
//}
|
send_USART(USART1,'\r');
|
||||||
|
cpt = 0;
|
||||||
|
}
|
||||||
start_conversion(ADC1); // Recommence la conversion pour le prochain
|
start_conversion(ADC1); // Recommence la conversion pour le prochain
|
||||||
}
|
}
|
||||||
|
|
@ -38,6 +38,13 @@ 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
|
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++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
char read_USART(USART_TypeDef *USART){
|
char read_USART(USART_TypeDef *USART){
|
||||||
while (!(USART->SR & USART_SR_RXNE)){}
|
while (!(USART->SR & USART_SR_RXNE)){}
|
||||||
return USART->DR;
|
return USART->DR;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
#ifndef MYUSART_H
|
#ifndef MYUSART_H
|
||||||
#define MYUSART_H
|
#define MYUSART_H
|
||||||
#include <stm32f10x.h>
|
#include <stm32f10x.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
#define send_USART_init(USART) USART->CR1 |= USART_CR1_TE; // Envoi de la première trame d'attente
|
#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
|
#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 My_USART_Init(USART_TypeDef *USART);
|
||||||
void send_USART(USART_TypeDef *USART, char data);
|
void send_USART(USART_TypeDef *USART, char data);
|
||||||
|
void send_USART_String(USART_TypeDef *USART, char* s);
|
||||||
char read_USART(USART_TypeDef *USART);
|
char read_USART(USART_TypeDef *USART);
|
||||||
void MyUSART_ActiveIT(USART_TypeDef *USART, int Prio, void (*IT_function) (void));
|
void MyUSART_ActiveIT(USART_TypeDef *USART, int Prio, void (*IT_function) (void));
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue