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
main.cpp@5:46a732673cc5, 2022-03-26 (annotated)
- Committer:
- Giamarchi
- Date:
- Sat Mar 26 09:26:26 2022 +0000
- Revision:
- 5:46a732673cc5
- Parent:
- 4:610e1572bd1b
Programme de dialogue entre un PC et un Smartphone en Bluetooth
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Giamarchi | 2:c1a4641eeacf | 1 | //============================================================================== |
| Giamarchi | 2:c1a4641eeacf | 2 | // FabLab Nîmes |
| Giamarchi | 2:c1a4641eeacf | 3 | // Initiation à la Programmation |
| Giamarchi | 2:c1a4641eeacf | 4 | // Auteur : Frédéric Giamarchi |
| Giamarchi | 2:c1a4641eeacf | 5 | |
| Giamarchi | 4:610e1572bd1b | 6 | // Date : 24 mars 2022 |
| Giamarchi | 4:610e1572bd1b | 7 | // TP : Liaison Bluetooth |
| Giamarchi | 4:610e1572bd1b | 8 | // |
| Giamarchi | 2:c1a4641eeacf | 9 | // Utilisation de fonctions décrites dans un fichier séparé |
| Giamarchi | 2:c1a4641eeacf | 10 | //============================================================================== |
| Giamarchi | 2:c1a4641eeacf | 11 | // Déclarations des ressources |
| Giamarchi | 0:531f33a2550d | 12 | #include "mbed.h" |
| Giamarchi | 2:c1a4641eeacf | 13 | #include "fonctions.h" // Appel des fonctions du fichier : fonctions.h |
| Giamarchi | 5:46a732673cc5 | 14 | #include "soft_uart.h" |
| Giamarchi | 0:531f33a2550d | 15 | |
| Giamarchi | 2:c1a4641eeacf | 16 | //============================================================================== |
| Giamarchi | 2:c1a4641eeacf | 17 | // Déclaration des broches |
| Giamarchi | 2:c1a4641eeacf | 18 | DigitalOut DEL(PA_11); // Ligne PA_11 sur la carte Nucléo |
| Giamarchi | 2:c1a4641eeacf | 19 | Serial pc(USBTX, USBRX); // Dialogue Série port USB à 9600 Baud |
| Giamarchi | 2:c1a4641eeacf | 20 | |
| Giamarchi | 2:c1a4641eeacf | 21 | //============================================================================== |
| Giamarchi | 2:c1a4641eeacf | 22 | // Déclaration des variables |
| Giamarchi | 0:531f33a2550d | 23 | |
| Giamarchi | 2:c1a4641eeacf | 24 | char c; // variable de type caractère |
| Giamarchi | 3:c75f8eddeaf4 | 25 | float temp; // variable de type réel |
| Giamarchi | 3:c75f8eddeaf4 | 26 | int16_t vitesse; // variable de type 16 bits signée |
| Giamarchi | 5:46a732673cc5 | 27 | char tab[10]; // tableau de variable de type caractère |
| Giamarchi | 5:46a732673cc5 | 28 | char buf[10]; |
| Giamarchi | 5:46a732673cc5 | 29 | uint8_t ptr, k; |
| Giamarchi | 1:95172f59262a | 30 | |
| Giamarchi | 2:c1a4641eeacf | 31 | //============================================================================== |
| Giamarchi | 2:c1a4641eeacf | 32 | // Début du Programme |
| Giamarchi | 2:c1a4641eeacf | 33 | int main() // Fonction principale |
| Giamarchi | 0:531f33a2550d | 34 | { |
| Giamarchi | 2:c1a4641eeacf | 35 | Init_Fonctions(); // Exécute cette fonction |
| Giamarchi | 4:610e1572bd1b | 36 | pc.printf("\r\nFabLab Bluetooth\r\n\n"); |
| Giamarchi | 5:46a732673cc5 | 37 | |
| Giamarchi | 5:46a732673cc5 | 38 | init_uart(); // Initialise la liaison série soft |
| Giamarchi | 5:46a732673cc5 | 39 | printStr("FabLab Bluetooth\r\n"); |
| Giamarchi | 5:46a732673cc5 | 40 | ptr = 0; |
| Giamarchi | 5:46a732673cc5 | 41 | k = 0; |
| Giamarchi | 3:c75f8eddeaf4 | 42 | |
| Giamarchi | 2:c1a4641eeacf | 43 | //============================================================================== |
| Giamarchi | 2:c1a4641eeacf | 44 | // Boucle Infinie |
| Giamarchi | 0:531f33a2550d | 45 | while(1) |
| Giamarchi | 0:531f33a2550d | 46 | { |
| Giamarchi | 5:46a732673cc5 | 47 | if (kbhit()) // Un caractère est reçu sur le BT |
| Giamarchi | 3:c75f8eddeaf4 | 48 | { |
| Giamarchi | 5:46a732673cc5 | 49 | buf[k] = _getchar(); // Mémorise le carcatère dans un tableau |
| Giamarchi | 5:46a732673cc5 | 50 | |
| Giamarchi | 5:46a732673cc5 | 51 | if((buf[k] == 0x0A) || (buf[k] == 0x0D)) // Test touche entrée en mode ASCII |
| Giamarchi | 5:46a732673cc5 | 52 | { |
| Giamarchi | 5:46a732673cc5 | 53 | buf[k] = 0; // Transforme le tableau en chaine de caractères |
| Giamarchi | 5:46a732673cc5 | 54 | k = 0; // Met le pointeur à 0 |
| Giamarchi | 5:46a732673cc5 | 55 | pc.printf("%s\n\r",buf); // Envoi le texte vers le PC |
| Giamarchi | 5:46a732673cc5 | 56 | } |
| Giamarchi | 5:46a732673cc5 | 57 | else |
| Giamarchi | 5:46a732673cc5 | 58 | { |
| Giamarchi | 5:46a732673cc5 | 59 | k++; // incrémente pour lire le prochain caractère |
| Giamarchi | 5:46a732673cc5 | 60 | } |
| Giamarchi | 5:46a732673cc5 | 61 | |
| Giamarchi | 3:c75f8eddeaf4 | 62 | } |
| Giamarchi | 5:46a732673cc5 | 63 | if(pc.readable()) // Si appui caractère au clavier |
| Giamarchi | 5:46a732673cc5 | 64 | { |
| Giamarchi | 5:46a732673cc5 | 65 | tab[ptr] = pc.getc(); // Mémorise le caractère et vide le registre de réception |
| Giamarchi | 5:46a732673cc5 | 66 | |
| Giamarchi | 5:46a732673cc5 | 67 | if((tab[ptr] == 0x0A) || (tab[ptr] == 0x0D)) // Test touche entrée en mode ASCII |
| Giamarchi | 5:46a732673cc5 | 68 | { |
| Giamarchi | 5:46a732673cc5 | 69 | tab[ptr] = 0; // Transforme le tableau en chaine de caractères |
| Giamarchi | 5:46a732673cc5 | 70 | ptr = 0; |
| Giamarchi | 5:46a732673cc5 | 71 | printStr(tab); // Envoi le texte vers le BT |
| Giamarchi | 5:46a732673cc5 | 72 | printStr("\r\n"); |
| Giamarchi | 5:46a732673cc5 | 73 | } |
| Giamarchi | 5:46a732673cc5 | 74 | else |
| Giamarchi | 5:46a732673cc5 | 75 | { |
| Giamarchi | 5:46a732673cc5 | 76 | ptr++; |
| Giamarchi | 5:46a732673cc5 | 77 | } |
| Giamarchi | 5:46a732673cc5 | 78 | } |
| Giamarchi | 5:46a732673cc5 | 79 | |
| Giamarchi | 1:95172f59262a | 80 | } // Fin du while(1) |
| Giamarchi | 2:c1a4641eeacf | 81 | //============================================================================== |
| Giamarchi | 2:c1a4641eeacf | 82 | } // Fin du Programme |
| Giamarchi | 2:c1a4641eeacf | 83 | //============================================================================== |