Ganz so isses nicht: "adr" ist ja nur eine temporäre Variable für den Sub-Call
Code:
Declare Sub Ds1820_temperature_read(byref Temperatur As Integer , Byref Adr As Word)
Dim Addr As Word
Dim Temperatur As Integer
Addr = Loadlabel(sensor1)
Call Ds1820_temperature_read(temperatur , Addr)
Addr = Loadlabel(sensor2)
Call Ds1820_temperature_read(temperatur , Addr)
Addr = Loadlabel(sensor3)
Call Ds1820_temperature_read(temperatur , Addr)
End
sub DS1820_TEMPERATURE_READ(byref Temperatur as Integer, byref adr as word)
LOCAL ptr AS WORD
LOCAL x as BYTE
LOCAL rombyte as BYTE
for x = 0 TO 7
ptr = adr+x
rombyte = CPEEK(ptr)
next
End Sub
Sensor1:
Data 1, 2, 3, 4, 5, 6, 7, 8
Sensor2:
Data 1, 2, 3, 4, 5, 6, 7, 8
Sensor3:
Data 1, 2, 3, 4, 5, 6, 7, 8
Lesezeichen