Ich würde den Ablauf etwa so machen:
Code:
Config TimerX = Timer , Prescale = 1024 'oder 1, 8, 64, 256
On TimerX Timer_isr 'TimerX durch beliebigen Timer ersetzen
Do
If Read_temp_counter = YYYY Then 'YYYY so wählen, dass z.B. jede Sekunde einmal ausgeführt wird
Read_temp_counter = 0
'.... jetzt alle Befehle zur Temp Berechnung und Anzeige, kein wait
End If
Loop
Timer_isr: ' Prescale * max_counts
Incr Read_temp_counter 'wird alle ----------------------- Sekunden um 1 hochgezählt
Return ' $crystal
'für einen 8-bit Timer ist max_counts 256, für einen 16-bit Timer ist es 65536
Lass die ganzen Blöcke weg:
1wreset
1wwrite &H55
1wwrite Id3(1) , 8
1wwrite &H44
und ersetze sie am Ende deiner Ausgabe durch ein
1wreset
1wwrite &HCC
1wwrite &H44
Und versuche mal die ganze Orgie durch eine Schleife zu ersetzen, die die 4 Sensoren nacheinander aufruft. Dann bracuhst du auch die Unmenge an Variablen nicht mehr. Du willst die Werte ja eh nicht abspeichern, oder?
Gruß
Rolf
Lesezeichen