tranh85bo
27.05.2008, 12:27
Hallo ,
ich hab ein kleines Problem aber ich kann nicht erkennen.Kann jemand von euch mir helfen?
Ich will eine Berechnung in Bascom machen.
In meinem Fall ist PortA ein Digitalport.Als Input liefert es einen Wertbereich von 110 bis 900.Dieser Bereich ist äquivalent mit 180 grad.(von einem Servo wenn er dreht).ich will eine Umrechnung von grad zu der Wert bei dem PortA machen und einfach kontrollieren mit Ausgabe in Terminalemulator.
Hier ist mein Code
$programmer = 13
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
Dim X As Single
Dim Y As Long
Dim Grad As Long
Dim Kleinwert As Integer
Dim Grosswert As Integer
Print "geben Sie einen Wert"
Input Grad
Read Grad
Print Grad
Kleinwert = 110
Grosswert = 900
X = Grosswert - kleinwert
X = X / 180
X = X * Grad
X = X + Kleinwert
Y = Round(x)
Print X ; " " ; Y
End
aber wenn ich kompliere,bekomme ich
Zb:
þgeben Sie einen Wert
90
-15236848
-66872724.0 -66872724
þgeben Sie einen Wert
60
-281034747
-1233430272.0 -1233430272
þgeben Sie einen Wert
180
-1073418449
-NAN 1
Bei 90 soll es 495 liefern.
Gern auf euch zu hören
Vielen Dank
MFG
ich hab ein kleines Problem aber ich kann nicht erkennen.Kann jemand von euch mir helfen?
Ich will eine Berechnung in Bascom machen.
In meinem Fall ist PortA ein Digitalport.Als Input liefert es einen Wertbereich von 110 bis 900.Dieser Bereich ist äquivalent mit 180 grad.(von einem Servo wenn er dreht).ich will eine Umrechnung von grad zu der Wert bei dem PortA machen und einfach kontrollieren mit Ausgabe in Terminalemulator.
Hier ist mein Code
$programmer = 13
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
Dim X As Single
Dim Y As Long
Dim Grad As Long
Dim Kleinwert As Integer
Dim Grosswert As Integer
Print "geben Sie einen Wert"
Input Grad
Read Grad
Print Grad
Kleinwert = 110
Grosswert = 900
X = Grosswert - kleinwert
X = X / 180
X = X * Grad
X = X + Kleinwert
Y = Round(x)
Print X ; " " ; Y
End
aber wenn ich kompliere,bekomme ich
Zb:
þgeben Sie einen Wert
90
-15236848
-66872724.0 -66872724
þgeben Sie einen Wert
60
-281034747
-1233430272.0 -1233430272
þgeben Sie einen Wert
180
-1073418449
-NAN 1
Bei 90 soll es 495 liefern.
Gern auf euch zu hören
Vielen Dank
MFG