Hi ,
wir mal Byte) die eine zählst du mit jeder Sectic um eins hoch. Bei 255 läuft
sie über und ist wieder 0 aber das ist egal. Die fragst du in der Hauptschleife
ab ob sie sich geändert hat. zB ...
Der Code ist mal schnell hier im Forum hingeschustert. Muß also noch etwas
debugged werden!
Laß ihn dir mal durch den Kopf gehen und durchlaufe ihn mal so im Kopf um
zu sehen was ich meine. Deine Sectic ist damit sehr kurz und sie dient über
die Variablen St und St_alt als Taktgeber für deine Hauptschleife. Die
If/EndIf-Struktur wird damit jede Sekunde einmal aufgerufen. Sonst läuft
die Hauptschleife einfach nur durch.
auslesen und in Arrays speichern. Dann bist du flexibler und mußt bei nem
Sensorwechsel dein Programm nicht anpassen.
Gruß
Dino
Stimmt. Ist übersichtlicher geworden.so nun habe ich mich nochmal an das Temp Problem gemacht erstmal wieder ohne alles
denke aber mal das es schon erstmal etwas übersichtlicher ist.
das bekommst du über die Sectic weg. Definier dir mal zwei Variablen (sagenes ist zwar immer noch ein Wait drin aber das werde ich auch noch weg bekommen.
wir mal Byte) die eine zählst du mit jeder Sectic um eins hoch. Bei 255 läuft
sie über und ist wieder 0 aber das ist egal. Die fragst du in der Hauptschleife
ab ob sie sich geändert hat. zB ...
Code:
' ======= Initialisierungsphase ==========
DIM St As Byte ' Variabel für SecTic-Zähler
St = 0 ' Variable einen Starrtwert geben
DIM St_alt As Byte ' Variable für SecTic-Zähler - Zwischenpuffer
St_alt = St ' Gleichheit herstellen (Initialisierung)
=== Sensoradressen auslesen ===
=== Alle Messungen starten (erster Start) ===
Do ' ======= Die Hauptschleife ============
if (St <> St_alt) then ' Variable hat sich geändert
' Also wurde SecTic aufgerufen und die Variable hochgezählt
St_alt = St ' neuen Stand für nächsten Hauptschleifendurchlauf sichern
=== Alle DS1820 auslesen ===
=== Alle Messungen starten ===
=== Neue Werte auf LCD ausgeben ===
EndIf
Loop ' ======= ENDE der Hauptschleife ========
' ====== Deine Sectic-Routine ==========
Sectic:
St = St + 1 ' Sectic-Zähler eins hoch damit man erkennt das Sectic
' aufgerufen wurde
Return ' (Return oder Endsub ? Must du mal selber sehen)
debugged werden!
Laß ihn dir mal durch den Kopf gehen und durchlaufe ihn mal so im Kopf um
zu sehen was ich meine. Deine Sectic ist damit sehr kurz und sie dient über
die Variablen St und St_alt als Taktgeber für deine Hauptschleife. Die
If/EndIf-Struktur wird damit jede Sekunde einmal aufgerufen. Sonst läuft
die Hauptschleife einfach nur durch.
Laß die Sensoradressen doch vor der Hauptschleife in der InitialisierungsphaseHabe ihn auch die Adressen der Sensoren gegeben das ist denke ich mal auch noch etwas besser oder nicht.
auslesen und in Arrays speichern. Dann bist du flexibler und mußt bei nem
Sensorwechsel dein Programm nicht anpassen.
Gruß
Dino