Projet robot / Bluetooth_HC05_LE_TRAME

Dependents:   robot_final

Committer:
aure
Date:
Wed Mar 15 10:43:27 2017 +0000
Revision:
0:092ac281a013
Child:
1:7cc085e87bb0
j,jihu

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aure 0:092ac281a013 1 #include "Bluetooth_HC05_LE_TRAME.h"
aure 0:092ac281a013 2 #include "mbed.h"
aure 0:092ac281a013 3 #include "m3pi.h"
aure 0:092ac281a013 4
aure 0:092ac281a013 5 //#define BAUDS 38400
aure 0:092ac281a013 6 #define BAUDS 9600 //constante bauds 9600
aure 0:092ac281a013 7 #define nb_caractere_max 10
aure 0:092ac281a013 8 #define TX p13
aure 0:092ac281a013 9 #define RX p14
aure 0:092ac281a013 10
aure 0:092ac281a013 11 m3pi mmm;
aure 0:092ac281a013 12
aure 0:092ac281a013 13 Serial seriale(TX,RX,MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE);
aure 0:092ac281a013 14
aure 0:092ac281a013 15
aure 0:092ac281a013 16 Bluetooth_HC05_LE_TRAME::Bluetooth_HC05_LE_TRAME()
aure 0:092ac281a013 17 {
aure 0:092ac281a013 18
aure 0:092ac281a013 19 seriale.baud(BAUDS);
aure 0:092ac281a013 20 seriale.format(8,SerialBase::None,1);
aure 0:092ac281a013 21 this->flush='t';
aure 0:092ac281a013 22 this->resetBuffer();
aure 0:092ac281a013 23
aure 0:092ac281a013 24 }
aure 0:092ac281a013 25 Bluetooth_HC05_LE_TRAME::~Bluetooth_HC05_LE_TRAME()
aure 0:092ac281a013 26 {
aure 0:092ac281a013 27
aure 0:092ac281a013 28
aure 0:092ac281a013 29 }
aure 0:092ac281a013 30
aure 0:092ac281a013 31 void Bluetooth_HC05_LE_TRAME::envoyer(char* envoi)
aure 0:092ac281a013 32 {
aure 0:092ac281a013 33 seriale.puts(envoi);
aure 0:092ac281a013 34 wait(1);
aure 0:092ac281a013 35 }
aure 0:092ac281a013 36
aure 0:092ac281a013 37 char* Bluetooth_HC05_LE_TRAME::recevoir(int longueur) //1 ere tentative
aure 0:092ac281a013 38 {
aure 0:092ac281a013 39 char* recu=NULL;
aure 0:092ac281a013 40
aure 0:092ac281a013 41 if (seriale.readable()) {
aure 0:092ac281a013 42
aure 0:092ac281a013 43
aure 0:092ac281a013 44 int i=0;
aure 0:092ac281a013 45 int compteur=0;
aure 0:092ac281a013 46 char buffer[20];
aure 0:092ac281a013 47
aure 0:092ac281a013 48 ///////////////////////////////////////////////OK rematrre apres
aure 0:092ac281a013 49 while(seriale.readable()==1)
aure 0:092ac281a013 50 {
aure 0:092ac281a013 51 for(i=0;i<longueur;i++)
aure 0:092ac281a013 52 {
aure 0:092ac281a013 53 buffer[compteur]=seriale.getc();
aure 0:092ac281a013 54 compteur++;
aure 0:092ac281a013 55 }
aure 0:092ac281a013 56 }
aure 0:092ac281a013 57
aure 0:092ac281a013 58 char buffer_copie[compteur];
aure 0:092ac281a013 59
aure 0:092ac281a013 60 for(i=0;i<compteur;i++)
aure 0:092ac281a013 61 buffer_copie[i]=buffer[i];
aure 0:092ac281a013 62
aure 0:092ac281a013 63 //recu=buffer;
aure 0:092ac281a013 64
aure 0:092ac281a013 65 strcpy(recu,buffer_copie);
aure 0:092ac281a013 66
aure 0:092ac281a013 67
aure 0:092ac281a013 68 }
aure 0:092ac281a013 69 else
aure 0:092ac281a013 70 {
aure 0:092ac281a013 71 recu="0";
aure 0:092ac281a013 72 }
aure 0:092ac281a013 73 this->resetBuffer();
aure 0:092ac281a013 74
aure 0:092ac281a013 75 return(recu);
aure 0:092ac281a013 76
aure 0:092ac281a013 77
aure 0:092ac281a013 78 }
aure 0:092ac281a013 79
aure 0:092ac281a013 80 /////////////////////////////////
aure 0:092ac281a013 81
aure 0:092ac281a013 82 void Bluetooth_HC05_LE_TRAME::resetBuffer()
aure 0:092ac281a013 83 {
aure 0:092ac281a013 84 while(seriale.readable())
aure 0:092ac281a013 85 {
aure 0:092ac281a013 86 this->flush = seriale.getc();
aure 0:092ac281a013 87 }
aure 0:092ac281a013 88
aure 0:092ac281a013 89 }