NXPCup_Cachan / Mbed 2 deprecated S4_bluetooth_V1_bibli

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
EISR
Date:
Mon Feb 03 10:44:41 2020 +0000
Commit message:
V1_fonctionnel_transmission bluetooth.; Manque : traitement de reception ; Creation trame forme Start-Reg-data-stop

Changed in this revision

bluetoothV1bibli.cpp Show annotated file Show diff for this revision Revisions of this file
bluetoothV1bibli.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetoothV1bibli.cpp	Mon Feb 03 10:44:41 2020 +0000
@@ -0,0 +1,58 @@
+#include "mbed.h"
+#include "bluetoothV1bibli.h"
+
+Serial pc(USBTX, USBRX,460800);
+Serial blueth(p9, p10,115200);                      // tx,rx,baudrate
+
+static int blueRxBuffer[20];                               // Buffer de reception de la liaison serie bluetooth
+static int blueTxBuffer[6];                                // Buffer de transmission de la liaison série bluetooth
+
+ 
+
+void init_blueth(void)
+{
+    blueth.attach(&receptionBlu, Serial::RxIrq);    //Creation interruption de reception
+    blueth.printf("Hello world");                   //message de test
+}
+    
+void send_data (int data)                           //création de la trame avec le start, le registre, les donnees et le stop
+{
+   
+    static int i=0;
+    static int bufferTx[6];                         
+    bufferTx[i]=data+i;                              //on remplit le buffer à chaque appel de la fonction
+    i++;
+    if(i>5)
+    {
+        for(int j=0;j<6;j++)blueTxBuffer[j]=bufferTx[j];  //On copie le buffer quand il est plein dans le buffer de transmission
+        blueth.attach(&transmitBlu, Serial::TxIrq);     //Ouverture de la liaison serie 
+        i=0;
+    }                    
+}
+
+
+void transmitBlu(void)
+{
+    static int i = 0;
+    if(blueth.writable())                           //fonctionne si la liaison est libre
+    {
+       blueth.putc(blueTxBuffer[i]);                //transmission de la trame de 6 octets
+       i++;
+    }
+    if(i>5)
+    {
+        i=0;
+        blueth.attach(NULL, Serial::TxIrq);         //fermeture de la liaison serie
+    }
+}
+
+void receptionBlu(void)                             //reception
+{                                                   //Manque la décomposition de trame
+    static int i = 0;
+    if(blueth.readable())
+    {
+        blueRxBuffer[i]=blueth.getc();             //On remplit le buffer de reception
+        i++;
+        if(i>5)i=0;
+    }   
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetoothV1bibli.h	Mon Feb 03 10:44:41 2020 +0000
@@ -0,0 +1,7 @@
+#include "mbed.h"
+
+void transmitBlu (void);          
+void receptionBlu (void); 
+void formatTrameT(int val); 
+void send_data(int data);
+void init_blueth(void);
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Feb 03 10:44:41 2020 +0000
@@ -0,0 +1,19 @@
+#include "bluetoothV1bibli.h"
+
+int val=5;                                  //la data 
+
+void data_on_blueth(void);                  //fonction d'interruption
+int main(void)
+{
+    Ticker timer;
+    
+    
+    init_blueth();                          
+    timer.attach(&data_on_blueth,0.005);   // creation de l'interruption
+    while(1) {}
+}
+
+void data_on_blueth(void)
+{
+    send_data(val);                        //A chaque IT
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Feb 03 10:44:41 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file