Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Revision 0:9525cf87fb78, committed 2020-02-03
- 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
--- /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