12
Communication de données
Exemple de codage de l'enregistreur de données
rest = z % 10;
// Tronquer la décimale
z = z / 10;
// Calculer le nombre devant la virgule et le copier
for (i = 0; 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;
}
for ( ; i >= 0; i--)b[l++] = a[i];
// Calculer le nombre 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 zahlenstring [150], datestring, timestring;
unsigned char excelstring [150];
unsigned char len, h,i;
unsigned int read_count,status;
#define EVENT_DATA.END 0xFF
char data;
int GetTele = 0
GetError = 0,
// Écrire 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
HERA
12-18
CELL VIOS
160i / 250i CR
Thermo Scientific