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