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
- Committer:
- Giamarchi
- Date:
- 2022-06-16
- Revision:
- 6:5a2c3d7d4623
File content as of revision 6:5a2c3d7d4623:
//==============================================================================
// Fichier : serial.h
//
// Description de fonctions utilisées pour la communication série
//==============================================================================
// Déclarations des ressources
//#include "soft_uart.h"
#include "mbed.h"
//==============================================================================
//==============================================================================
// Déclaration des variables
char cmd[10]; // tableau de variable de type caractère
char buf[10];
int ptr, k;
int config_menu;
//==============================================================================
void Init_Serial(void)
{
ptr = 0;
config_menu = 1;
// k = 0;
// init_uart(); // Initialise la liaison série soft
// printStr("FabLab Bluetooth\r\n");
}
void Commande_Up(void)
{
/* if (kbhit()) // Un caractère est reçu sur le BT
{
buf[k] = _getchar(); // Mémorise le carcatère dans un tableau
if((buf[k] == 0x0A) || (buf[k] == 0x0D)) // Test touche entrée en mode ASCII
{
buf[k] = 0; // Transforme le tableau en chaine de caractères
k = 0; // Met le pointeur à 0
pc.printf("%s\n\r",buf); // Envoi le texte vers le PC
}
else
{
k++; // incrémente pour lire le prochain caractère
}
}
*/
if(pc.readable()) // Si appui caractère au clavier
{
cmd[ptr] = pc.getc(); // Mémorise le caractère et vide le registre de réception
if((cmd[ptr] == 0x0A) || (cmd[ptr] == 0x0D)) // Test touche entrée en mode ASCII
{
cmd[ptr] = 0; // Transforme le tableau en chaine de caractères
ptr = 0;
if(config_menu & 0x01) // Controle Echo On/Off
{
pc.printf("%s\n\r",cmd); // Envoi le texte vers le PC
}
}
else
{
ptr++;
}
}
}
void Menu(void)
{
if(cmd[0] == '$')
{
switch (cmd[1])
{
case 'A': // Anémomètre On
config_menu = config_menu | 0b00000010;
break;
case 'a': // Anémomètre Off
config_menu = config_menu & 0b11111101;
break;
case 'E': // Echo du message On
config_menu = config_menu | 0b00000001;
break;
case 'e': // Echo du message Off
config_menu = config_menu & 0b11111110;
break;
case 'T': // Thermomètre On
config_menu = config_menu | 0b00000100;
break;
case 't': // Thermomètre Off
config_menu = config_menu & 0b11111011;
break;
default:
break;
}
}
}
int Get_Config(void)
{
return config_menu;
}