-
Typecast für ADC-Wert??
Hallo Miteinand
Gibt es im Bascom eigentlich die möglichkeit eines Typecasts?
Ich möchte auch einen negativen Wert vom ADC anzeigen können.
Code:
Local Vr As Single
...
Start Adc
Vr[single] = Getadc(0)
Vr = Vr - 10
Vr = Vr / 2
Print N ; ". Die Temperatur beträgt : " ; Vr ; " C."
Eigentlich müßte so ja für ADC = 0V ein Wert von -5 angezeigt werden?!
Es gint aber immmer einen Zahlenüberlauf!
Hat jemand ne Idee?
-
EInmal um die ecke:
Code:
LOCAL adcval AS WORD
LOCAL asingle AS single
adcval = getadc(..)
asingle = adcval
asingle = asingle - 10
...usw...
-
Hey cool. So geht es jetzt. Vielen Dank!
Warum ist denn der Umweg nötig?
-
Getadc() ist dodel. der schreibt sein 16 Bit in das Return-Feld und tschüss.
C-mäßiges casten in der Klammer tut der Bascom nicht
-
ok, danke dir.
Habe da aber noch ne kleine Frage.
Bin noch viemlich frisch in der Materie, wie ist das mit dem Syntax für Funktionen?
Code:
Declare Function Tmessen(Byte) As Single
...
Function Tmessen(byte)
Start Adc
Vrtemp = Getadc(0)
Tmessen = Vrtemp
Tmessen = Tmessen - 10
tmessen = tmessen / 2
End Function
Ich will einen Wert des entspechenden ADC Eingang übergeben und den Messwert zurück haben.
-
Code:
Declare Function Tmessen(byval Arg As Byte) As Single
Dim Varia As Single
' haupt programm
Start Adc ' das solltest du nur einmal am anfang machen
Do
Varia = Tmessen(4)
print varia
Loop
End
Function Tmessen(byval Arg As Byte) As Single
Local Vrtemp As Word
Vrtemp = Getadc(arg)
Tmessen = Vrtemp
Tmessen = Tmessen - 10
tmessen = tmessen / 2
End Function
das ginge zum beispiel
-
Ja genau.
Das hab ich gesucht. Vielen Dank.