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
serial.h
00001 //============================================================================== 00002 // Fichier : serial.h 00003 // 00004 // Description de fonctions utilisées pour la communication série 00005 //============================================================================== 00006 // Déclarations des ressources 00007 //#include "soft_uart.h" 00008 #include "mbed.h" 00009 //============================================================================== 00010 00011 00012 //============================================================================== 00013 // Déclaration des variables 00014 char cmd[10]; // tableau de variable de type caractère 00015 char buf[10]; 00016 int ptr, k; 00017 int config_menu; 00018 00019 //============================================================================== 00020 void Init_Serial(void) 00021 { 00022 ptr = 0; 00023 config_menu = 1; 00024 // k = 0; 00025 00026 // init_uart(); // Initialise la liaison série soft 00027 // printStr("FabLab Bluetooth\r\n"); 00028 } 00029 00030 void Commande_Up(void) 00031 { 00032 /* if (kbhit()) // Un caractère est reçu sur le BT 00033 { 00034 buf[k] = _getchar(); // Mémorise le carcatère dans un tableau 00035 00036 if((buf[k] == 0x0A) || (buf[k] == 0x0D)) // Test touche entrée en mode ASCII 00037 { 00038 buf[k] = 0; // Transforme le tableau en chaine de caractères 00039 k = 0; // Met le pointeur à 0 00040 pc.printf("%s\n\r",buf); // Envoi le texte vers le PC 00041 } 00042 else 00043 { 00044 k++; // incrémente pour lire le prochain caractère 00045 } 00046 00047 } 00048 */ 00049 if(pc.readable()) // Si appui caractère au clavier 00050 { 00051 cmd[ptr] = pc.getc(); // Mémorise le caractère et vide le registre de réception 00052 00053 if((cmd[ptr] == 0x0A) || (cmd[ptr] == 0x0D)) // Test touche entrée en mode ASCII 00054 { 00055 cmd[ptr] = 0; // Transforme le tableau en chaine de caractères 00056 ptr = 0; 00057 00058 if(config_menu & 0x01) // Controle Echo On/Off 00059 { 00060 pc.printf("%s\n\r",cmd); // Envoi le texte vers le PC 00061 } 00062 } 00063 else 00064 { 00065 ptr++; 00066 } 00067 } 00068 } 00069 00070 void Menu(void) 00071 { 00072 00073 if(cmd[0] == '$') 00074 { 00075 switch (cmd[1]) 00076 { 00077 case 'A': // Anémomètre On 00078 config_menu = config_menu | 0b00000010; 00079 break; 00080 case 'a': // Anémomètre Off 00081 config_menu = config_menu & 0b11111101; 00082 break; 00083 case 'E': // Echo du message On 00084 config_menu = config_menu | 0b00000001; 00085 break; 00086 case 'e': // Echo du message Off 00087 config_menu = config_menu & 0b11111110; 00088 break; 00089 case 'T': // Thermomètre On 00090 config_menu = config_menu | 0b00000100; 00091 break; 00092 case 't': // Thermomètre Off 00093 config_menu = config_menu & 0b11111011; 00094 break; 00095 default: 00096 break; 00097 } 00098 } 00099 } 00100 00101 int Get_Config(void) 00102 { 00103 return config_menu; 00104 }
Generated on Thu Dec 1 2022 07:53:58 by
1.7.2