Chapter 13 Annexe Communication de données
// Enregistrer la décimale
rest = z % 10 ;
// Tronquer la décimal
z = z / 10 ;
// Calculer le nombre devant la virgule et le copier
pour (i = 0; i < 12; i; i < 12; i++){
// Calculer la valeur
a[i] = z%10+0x30 ;
// Réduire la valeur par défaut
z = z/10 ;
// Copie complète du nombre ?
if (z == 0)
break ;
}
pour ( ; i >= 0; i--)b[l++] = a[i] ;
// Calculer le chiffre après la virgule et le copier
b[l++] = ',' ;
// Calculer la valeur
b[l++] = rest%10+0x30 ;
return (l) ;
}
read_datalogger
int read_datalogger ( )
{
#define SIZE_DATA2 16
#define EVENT_STATUS 0x01
unsigned char buffer[300], string [300] ;
unsigned char chaîne de chiffres [150],datestring, timestring ;
unsigned char chaîne excel [150] ;
unsigned char len, h,i ;
unsigned int read_count,status ;
#define EVENT_DATA.END 0xFF
char data ;
int GetTele = 0
GetError = 0,
// Ecrire l'en-tête dans le fichier
WriteFile (FileHandle, "Date;Time;Comment;Temp Act.;CO2 Act.;O2 Act.;rH Act.;Temp Set;CO2
Set;O2 Set;rH Set;\n", 85) ;
// Boucle infinie
while (1)
// Remettre l'enregistreur de données à zéro et lire if (!GetTele){
send_telegramm ("2400");
else{
// Lire d'autres enregistrements send_telegramm ("2401");
len = get_telegramm (buffer);
// Aucun télégramme reçu if (!len) {
GetError ++;
// Nouvelle demande send_telegramm ("2402");
Heracell 150i / 240i GP 50159352_B_06-2020
174
Thermo Scientific