Olle_Filzlaus
01.02.2007, 22:27
Hallo,
ich will mit Bascom ein Temperatursensor einlesen und dann als Temperatur per rs232 ausgeben.
Ich habe die Kennlinie aufgenommen und in Excel in eine Formel umgerechnet. Aber da liegt das Problem. Ich weiß das ich pro Zeile nur eine Rechenoperation ausfüren darf.
Die ermittelte Formel:
y = 6E-05x2 + 0,1898x - 76,344
$regfile = "m16def.dat"
$crystal = 8000000
$baud = 9600
Dim T As Integer
Dim Teil_eins As Single
Dim Teil_zwei As Single
Dim Teil_drei As Single
Dim Ergebnis As Single
'y = 6E-05x2 + 0,1898x - 76,344
T = 441
Teil_eins = 0.00006 * T
Teil_eins = Teil_eins * T
Teil_zwei = T * 0.1898
Teil_drei = Teil_eins + Teil_zwei
Ergebnis = Teil_drei - 76.344
Do
Print "T=" ; T
Print "Ergebnis=" ; Ergebnis
Print "Teil_eins" ; Teil_eins
Print "Teil_zwei" ; Teil_zwei
Print "Teil_drei" ; Teil_drei
Loop
Teil eins rechnet er richtig. Aber bei Teil zwei habe ich das Problem, das er da immer auf die Falschen Werte kommt.
er sollte bei Teil_zwei = T * 0.1898 auf 83.701 kommen, aber er rechnet mir immer 41 aus (für T = 441).
Ich kann aber den Fehler nicht finden. Mit Kommas muss er ja rechnen, weil sonst würde bei teil eins ein falscher wert raus kommen.
Habt ihr eine Idee warum das nicht geht.
und noch ein Problem, wenn ich den Wert auf Singel stelle, kommt immer nur der Wert 220,5 raus. Wieso das? Single deckt doch einen großen Bereich und Kommastellen ab, oder?
thx Arno
ich will mit Bascom ein Temperatursensor einlesen und dann als Temperatur per rs232 ausgeben.
Ich habe die Kennlinie aufgenommen und in Excel in eine Formel umgerechnet. Aber da liegt das Problem. Ich weiß das ich pro Zeile nur eine Rechenoperation ausfüren darf.
Die ermittelte Formel:
y = 6E-05x2 + 0,1898x - 76,344
$regfile = "m16def.dat"
$crystal = 8000000
$baud = 9600
Dim T As Integer
Dim Teil_eins As Single
Dim Teil_zwei As Single
Dim Teil_drei As Single
Dim Ergebnis As Single
'y = 6E-05x2 + 0,1898x - 76,344
T = 441
Teil_eins = 0.00006 * T
Teil_eins = Teil_eins * T
Teil_zwei = T * 0.1898
Teil_drei = Teil_eins + Teil_zwei
Ergebnis = Teil_drei - 76.344
Do
Print "T=" ; T
Print "Ergebnis=" ; Ergebnis
Print "Teil_eins" ; Teil_eins
Print "Teil_zwei" ; Teil_zwei
Print "Teil_drei" ; Teil_drei
Loop
Teil eins rechnet er richtig. Aber bei Teil zwei habe ich das Problem, das er da immer auf die Falschen Werte kommt.
er sollte bei Teil_zwei = T * 0.1898 auf 83.701 kommen, aber er rechnet mir immer 41 aus (für T = 441).
Ich kann aber den Fehler nicht finden. Mit Kommas muss er ja rechnen, weil sonst würde bei teil eins ein falscher wert raus kommen.
Habt ihr eine Idee warum das nicht geht.
und noch ein Problem, wenn ich den Wert auf Singel stelle, kommt immer nur der Wert 220,5 raus. Wieso das? Single deckt doch einen großen Bereich und Kommastellen ab, oder?
thx Arno