Das C-Control Programm wird an Hand von Flussdiagrammen in Compact-C entwickelt. Im Programmcode wird auf die Nummer (SR...) des Flussdiagrammes verwiesen.
1. Das Hauptprogramm main()
Beim Programmstart werden die Ports (Digital-I/O, I2C-Bus, 1Wire-Bus) initialisiert und dann die Hardware (Sensoren). Bei der Software-Initialisierung werden die Variablen des Programms passend vorbelegt. Anschliessend wird eine Endlosschleife durchgeführt, welche nur durch die Interrupts (IRQ) der Echtzeituhr im Sekundentakt unterbrochen wird.
1.1 Initialisierung der Hardware
asd
1.2 Test der Hardware
asd
1.3 Initialisierung der Software
asd
1.4 Tastaturabfrage
asd
2. Die Interrupt-Service-Routine
In der IRQ Service Routine werden die Messwerte der Temperatursensoren, Digitaleingänge und des Volumengebers eingelesen und die Variablenbänke an Hand des aktuellen Monats umgeschaltet.
2.1 Messwerte erfassen und Variablen umschalten
tbd
2.1.1 Impulsbehandlung
Für die Erfassung der Volumenimpulse wird ein 8Bit-Counter verwendet, der nicht zurückgesetzt werden kann. Er wechselt nach dem Zählerstand 255 zum neuen Zählerstand 0. Deshalb muss eine Abfrage auf den aktuellen und den vorhergehenden Wert erfolgen.
2.2 Wärmemenge berechnen
asd
2.2.1 Pumpenstatus ermitteln
asd
2.2.2 Schätzung Volumen
asd
2.2.3 Wärmewerte berechnen
2.2.4 Reset der Variablen
asd
2.2.5 Berechnung Volumen
asd
2.2.6 Variablen inkrementieren
asd
2.3 Werte auf LCD ausgeben
asd
2.4 Werte auf RS-232 ausgeben
asd