Download TFE
Transcript
Listing des variables globales : On sent intuitivement que ce programme va posséder beaucoup de variables globales, qu’il faut, en général éviter. Bit : Flags d’interruptions : INTRTC, INTPLUVIO, INTUSB, INTOP Flags d’état : Ouverture, lowbat, sensib Char (1 octet) Variables d’horodatage : timeRTC, timePLUVIO, timeOPEN, timeUSB, buftime, chacune de ces variables font 6 octets. Variables du paramétrage : timeoutpluvio, auget, quantif Buffer pour les scanf du VDIP : 60 Integer Offset des mémoires non volatiles : offset et offset2 (FRAM1 et FRAM2) Variable du paramétrage : pause pour l’ouverture/fermeture du couvercle (déterminant sa vitesse d’exécution) Variable de pluviométrie : ACQpluvio : nombre de basculements Float (4 octets) Variables de pluviométrie : cumul et débit (instantané, minimal, maximal et moyen) Remarque : pour placer dans notre mémoire non volatile les données de type int et float, nous utilisons des unions, puisque cette mémoire n’acceptant que des données octets par octets. Remarque 2 : certaines de ces variables sont cependant modifiées que dans une procédure, comme par exemple Pause, quantif, sensib, … mais sont utilisées dans d’autres. Les variables de l’horodatages, sont pour la plus part modifiées que dans scrutint(); mais utilisées également ailleurs… Avoir mis le buffer pour la fonction scanf(); appelée lorsque le VDIP fonctionne est en global, puisque utilisé à plusieurs endroits également, ceci permet de ne pas multiplier le nombre d’octets locaux, ces variables étant peu importantes. Page 61 de 125