
Zitat von
screwdriver
@for_ro + @PicNick
Danke euch beiden. Eure Lösungen würden funktionieren. Aber ich finde sie verschlechtern eher die Lesbarkeit des Codes.
Ein Unterprogrammaufruf der Form
call DS1820_TEMPERATURE_READ(Temperatur,Aussensensor)
oder
Aussentemperaur= DS1820_TEMPERATUR_READ(Aussensensor)
mit dem Label
Aussensensor:
Data 16 , 135 , 205 , 170 , 0 , 8 , 0 , 118
finde ich die eleganteste Lösung. Und da möchte ich auch hin...
In der Bascom-eigenen Graphlib glcd.lib gibts z.B. eine Funktion
Showpic x,y,label.
Da wird doch auch ein Label übergeben. Wieso klappt das denn nicht mit einer selbstdeklarierten Funktion. Muß ich denn wirklich den Umweg über eine Lib gehen? Da müßte ich mich erstmal einarbeiten. Allerdings wäre eine Lib für die DS1820
Sensoren auch schon längst überfällig.
Warum willst du dir das so schwer machen. Ich denke, dass du die Lösung mit der Lookup()-Funktion nicht wirklich durchdacht hast.
Stell dir mal sowas vor:
Code:
Const Aussensensor = 0
Const Innensensor = 1
call DS1820_TEMPERATURE_READ(Temperatur,Aussensensor)
...
Sub call DS1820_TEMPERATURE_READ(Temp,sensor_Nr)
Offset=sensor_Nr*8
For I=1 to 8
Rom(I) = Lookup(Offset,Sensor_Adressen)
Next I
...
End Sub
Sensor_Adressen:
Data 16 , 135 , 205 , 170 , 0 , 8 , 0 , 118 'Aussen
Data 16 , 135 , 205 , 171 , 0 , 8 , 0 , 119 'Innen
Für mich sieht das sehr einfach aus.
Gruß
Rolf
Edit PicNick Ich hab versucht, den quote Tags in deinem Sinne zu setzen. Wenn das ein Schuss in den Ofen war, tut's mir leid
Lesezeichen