Hallo,
kannst Du noch etwas mehr vom Code reinstellen,
zB. die Stelle an der A einen anderen Wert als 1 bekommt.
Hi
leider gibt es noch ein Problem bei einem meiner ersten Programme. Sobald der Taster mit Masse verbunden ist, sollte das Programm die Loop-Schleife verlassen und die LED sollte ausgehen.. Dies tut es aber leider net. Der Wichtige teil sieht wie folgt aus.
Vielen Dank schon einmalCode:Starter = 1 Led = 1 Do If Starter = 0 Then A = 1 Else Waitms 1 End If Loop Until A = 1 Led = 0
Hallo,
kannst Du noch etwas mehr vom Code reinstellen,
zB. die Stelle an der A einen anderen Wert als 1 bekommt.
Code:Dim A As Byte A = 0 Starter = 1 Led = 1 Do If Starter = 0 Then A = 1 Else Waitms 1 End If Loop Until A = 1 Led = 0
Naja, hilft uns noch nicht recht weiter,
Wer setzt Starter auf 0 ?
Ist das ein Eingangspin, welches, wie ist es verkabelt ?
Was geht jetzt genau nicht, wenn Du den Taster drückst, geht die LED nicht aus, dann bitte mit meiner ersten Fragen weiter machen
.... und wie sieht die Konfiguation der Ports aus, wie der Alias für Starter usw...
Pinnoccio, lass' Dir doch nicht alles aus der Nase ziehen, so hochgeheim oder so lang kann Dein Programm doch bei dem Wissensstand noch nicht sein .
Grüße
Henrik
Am Besten einfach das komplette Programm hier reinstellen, dann werden Sie geholfen.
mehr wars noch nichtCode:$regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 16000000 $baud = 9600 Dim A As Byte Config Porta.0 = Output Motorl Alias Porta.0 Config Porta.1 = Output Motorr Alias Porta. 1 Config Porta.2 = Input Starter Alias Porta.2 Config Porta.6 = Output Led Alias Porta.6 A = 0 Starter = 1 Led = 1 Motorl = 0 Motorr = 0 Do If Starter = 0 Then A = 1 Else Waitms 1 End If Loop Until A = 1 Led = 0 Motorl = 1 Motorr = 1 Wait 5 Motorl = 0 Motorr = 0
> Starter Alias Porta.2 <
Zum einlesen brauchst du :
Starter Alias Pina.2
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
hmmm .. sehr wirrer Programmierstil *mal anmerk*
so sollte es besser lesbar sein (vor allem, was Schleifen etc angeht):
Ach ja, ich würde mal sagen, da fehlt irgendwie etwas ... und einiges ist auch nicht so ganz richtig ...Code:$regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 16000000 $baud = 9600 Dim A As Byte Config Porta.0 = Output Motorl Alias Porta.0 Config Porta.1 = Output Motorr Alias Porta. 1 Config Porta.2 = Input Starter Alias Porta.2 Config Porta.6 = Output Led Alias Porta.6 A = 0 Starter = 1 Led = 1 Motorl = 0 Motorr = 0 Do If Starter = 0 Then A = 1 Else Waitms 1 End If Loop Until A = 1 Led = 0 Motorl = 1 Motorr = 1 Wait 5 Motorl = 0 Motorr = 0
z.B. werden Eingänge immer mit PIN und nicht mit PORT ausgelesen
des weiteren scheint mir irgendwas am Ende zu fehlen ...
Hallo noch mal,
vielen dank für die ganzen Antworten, mittlerweile läuft das Programm auch, aber noch eine andere Frage:
In diesem Programm ist in dem letzten Teil, ab Bums: ein Problem.$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600
Config Porta.0 = Output
Motorlv Alias Porta.0
Config Porta.1 = Output
Motorrv Alias Porta.1
Config Porta.2 = Input
Bumpervorne Alias Porta.2
Config Porta.3 = Input
Bumperhinten Alias Porta.3
Config Porta.4 = Output
Led Alias Porta.4
Config Porta.5 = Output
Summer Alias Porta.5
Config Int0 = Low Level
Enable Interrupts
Enable Int0
On Int0 Bums
Portd.2 = 1
Porta.2 = 1
Porta.3 = 1
Do
Motorlv = 1
Motorrv = 1
Led = 0
Waitms 10
Loop
End
Bums:
Motorlv = 0
Motorrv = 0
Do
If Bumpervorne = 0 Then
Led = 1
End If
Loop Until Led = 1
Der Interruptteil wird erkannt und die Motoren werden ausgeschaltet. Leider wird die If-Schleife aber ignoriert. Der Schalter aber direkt an den Port angeschlossen, und der Int-Pin über eine kleine Diode.
Lesezeichen