x8r
12.12.2005, 16:30
Hallo,
ich habe folgendes Problem:
Um ein Servoansteuerung zu programmieren muss ichvon 1ms bis 2ms
warten.
Diese Zeitspanne definiert die Stellung des Servos.
Wie kann ich Kommazahlen in eine Variabele Formen bringen?
Hier mein prog das nicht funzt:
$regfile = "m8def.dat"
$crystal = 1000000
Config Portd = Output
declare sub serv(a as integer)
dim a as integer
dim b as integer
dim i as integer
dim y as integer
do
for y = 0 to 100
call serv(y)
next
wait 2
for y = 100 to 0 step -1
call serv(y)
next
wait 2
loop
sub serv(a as integer) "a = zahl 0-100
a = a / 100 "a = zahl 0 - 1
a = a + 1 "a = zahl 1 - 2
b = a / 2
b = 20 - b "b = zahl 19,5 - 20
for I = 1 to 100
portd.0 = 0
waitms B
portd.0 = 1
waitms A
next
end sub
Leider kann man nicht waitus benutzen weil hier die wartezeit nicht
variabel sein darf. Hat jemand eine Idee was ich machen kann?
Mit freundlichen Grüßen
Jan Weber
PS: Der Befehl "Servo" von Bascom ist für mich nichst ausreichend,
weil das Servo da ca. 10grad große schritte macht.
ich habe folgendes Problem:
Um ein Servoansteuerung zu programmieren muss ichvon 1ms bis 2ms
warten.
Diese Zeitspanne definiert die Stellung des Servos.
Wie kann ich Kommazahlen in eine Variabele Formen bringen?
Hier mein prog das nicht funzt:
$regfile = "m8def.dat"
$crystal = 1000000
Config Portd = Output
declare sub serv(a as integer)
dim a as integer
dim b as integer
dim i as integer
dim y as integer
do
for y = 0 to 100
call serv(y)
next
wait 2
for y = 100 to 0 step -1
call serv(y)
next
wait 2
loop
sub serv(a as integer) "a = zahl 0-100
a = a / 100 "a = zahl 0 - 1
a = a + 1 "a = zahl 1 - 2
b = a / 2
b = 20 - b "b = zahl 19,5 - 20
for I = 1 to 100
portd.0 = 0
waitms B
portd.0 = 1
waitms A
next
end sub
Leider kann man nicht waitus benutzen weil hier die wartezeit nicht
variabel sein darf. Hat jemand eine Idee was ich machen kann?
Mit freundlichen Grüßen
Jan Weber
PS: Der Befehl "Servo" von Bascom ist für mich nichst ausreichend,
weil das Servo da ca. 10grad große schritte macht.