-Recevoir les données d'un formulaire à travers le BLE , -Text envoyer mot par mot -interruption pour les enregistrer dans une carte sd . . .
Dependencies: mbed SimpleBLE X_NUCLEO_IDB0XA1 SDFileSystem USBDevice
main.cpp
- Committer:
- zmoutaou
- Date:
- 2020-01-27
- Revision:
- 0:09622f029eea
File content as of revision 0:09622f029eea:
//Includes #include "mbed.h" #include "SimpleBLE.h" #include "USBSerial.h" #include "SDFileSystem.h" //declaration des sortie entrées SDFileSystem sd(PA_7, PA_6, PA_5, PB_6, "sd"); // carte sd FILE *fp= fopen("/sd/valeur_ble.txt", "a"); // fichier carte sd SimpleBLE ble("ObCP_Baton ");// Bleutooth USBSerial pc; // Bouton d’interruption InterruptIn button1(PC_13); // Bouton d’interruption //declaration des variables int height=0; bool interruption= false;char name[50]; int i= 0 ; int weight; int age ; char gender[1]; int max_heart_rate; bool message_envoyee= false; //declaration des fonctions void fct_name_text(uint8_t newState); void fct_height_int(uint8_t newState); void fct_weight_int(uint8_t newState); void fct_age_int(uint8_t newState); void fct_gender_text(uint8_t newState); void fct_max_heart_rate_int(uint8_t newState); void fct_fini(uint8_t newState); void fct_interruption_ble(); SimpleChar<uint8_t> name_text = ble.writeOnly_u8(0x8600, 0x8601, &fct_name_text); SimpleChar<uint8_t> height_int = ble.writeOnly_u8(0x8600, 0x8602, &fct_height_int); SimpleChar<uint8_t> weight_int= ble.writeOnly_u8(0x8600, 0x8603, &fct_weight_int); SimpleChar<uint8_t> age_int= ble.writeOnly_u8(0x8600, 0x8604, &fct_age_int); SimpleChar<uint8_t> gender_text= ble.writeOnly_u8(0x8600, 0x8605, &fct_gender_text); SimpleChar<uint8_t> max_heart_rate_u8= ble.writeOnly_u8(0x8600, 0x8606, &fct_max_heart_rate_int); SimpleChar<uint8_t> fini = ble.writeOnly_u8(0x8600, 0x8607, &fct_fini); int main(int, char**) { ble.start();button1.fall(&fct_interruption_ble); fprintf(fp,"\n********************************Bonjour**************************************\n"); while (1) { while (interruption== true) { if ( message_envoyee== true ) { fprintf(fp,"\n********************************BLE**************************************\n"); fprintf(fp,"name: %s ; ",name); fprintf(fp,"height: %d ;",height); fprintf(fp,"weight: %d ;",weight); fprintf(fp,"age: %d ;",age); fprintf(fp,"gender: %s ;",gender); fprintf(fp,"max_heart_rate: %d ;",max_heart_rate); fprintf(fp,"\n********************************BLE-fin**************************************\n"); message_envoyee= false;interruption= false; } else { ble.waitForEvent(); } } //pc.printf("doing something ..."); wait(1); } } void fct_name_text(uint8_t newState) { name[i] = (char) newState; i= i+1 ;pc.printf("name %s ",name);} void fct_height_int(uint8_t newState) { height = (int) newState;pc.printf("height %d ",height); } void fct_weight_int(uint8_t newState) { weight = (int) newState;pc.printf("weight %d ",weight); } void fct_age_int(uint8_t newState) { age = (int) newState;pc.printf("age %d ",age); } void fct_gender_text(uint8_t newState) { gender[0] = (char) newState;pc.printf("gender %s ",gender); } void fct_max_heart_rate_int(uint8_t newState) { max_heart_rate = (int) newState; pc.printf("max_heart_rate %d ",max_heart_rate);} void fct_fini(uint8_t newState) { message_envoyee= true; pc.printf("message_envoyee "); } void fct_interruption_ble(){ interruption= true ; height = 0; i=0; for (int j=1;j<50;j++){ name[j] = '_';} weight=0; age =0; char gender[1] = {'_'} ; max_heart_rate=0; message_envoyee= false; }