Hallo
schreib mal waitms 500 dann wirst du das Blinken sehen vorher nicht weil es viel zu schnell ist für dein Auge.
oder schreibe
z.b. toggle portb.0
Hallo leute,
ich habe ein kleines Problem und zwar hab ich mir schon die Hilfe durchgelesen aber ich komme nicht weiter.
Das soll so Funktionieren das wenn ich den einen Taster drücke die Led an ist also Dauerhaft und wenn ich sie los lasse wieder aus geht. Wenn ich aber nun den andere Taster drücke soll die Led anfangen zu Blinken und das in einer dauerschleife warum geht das nicht so ich hab das ganze nur auf ne andere art und weise hinbekommen und zwar soCode:$regfile = "m8def.dat" $crystal = 4000000 $baud = 9600 Config Portc.0 = Output Config Portc.1 = Input Config Portc.2 = Input Led Alias Portc.0 Taster Alias Portc.1 Tastera Alias Portc.2 do If Taster = 1 Then Led = 1 Else If Taster = 0 Then Led = 0 Else If Tastera = 1 Then eins: Led = 1 Waitms 100 Led = 0 Waitms 100 Goto eins End IF Loop
Kann mir einer von euch da helfen.Code:$regfile = "m8def.dat" $crystal = 4000000 $baud = 9600 Config Portc.0 = Output Config Portc.1 = Input Config Portc.2 = Input Config Portc.3 = Output Led Alias Portc.0 Leda Alias Portc.3 Taster Alias Portc.1 Tastera Alias Portc.2 Do D: If Taster = 1 Then Led = 1 Else Led = 0 End If E: If Tastera = 1 Then Goto L Else Goto D End If L: Leda = 1 Waitms 1 Leda = 0 Waitms 1 Goto E Loop
danke schonmal
Mfg P.Gnauck
Hallo
schreib mal waitms 500 dann wirst du das Blinken sehen vorher nicht weil es viel zu schnell ist für dein Auge.
oder schreibe
z.b. toggle portb.0
Hab grad ein kleines Verständnisproblem, was das Ding genau tun soll.
Aber evtl. gehts ja, wenn du in einer IF 2 Abfragen prüfst, also etwa so:
If Taster1 = 0 AND Taster2 = 0 Then...
If Taster1 = 1 AND Taster2 = 0 Then...
If Taster1 = 0 AND Taster2 = 1 Then...
If Taster1 = 1 AND Taster2 = 1 Then...
Wären dann 4 Zustände, je nach dem welcher Taster gedrückt/nicht gedrückt ist.
#ifndef MfG
#define MfG
hallo,
also erst mal, würd ich die ganzen gotos weg lassen, da blickt ja keiner durch, was da wann wo hin springt.
dann kann ich mir nicht vorstellen, dass des 2. geht, weil da blinkt die led ja mit 500hz, glaub net, dass man des sehen kann.
und beim 2. sollte ja dann das blinken ja wieder aufhören, wenn man den taster los lässt, beim ersten nicht.
allerdings wird beim ersten deine led nie anfangen zu blinken, weil die bedingung nie abgefragt werden wird.
mfg jeffrey
Den zweiten Code hab ich mit einem AVR Simulator Getestet da kann man die geschwindigkeit einstellen von daher seh ich die LED Blinken *gg* nur mien Problem ist oder auch die Frage wie das richtig Funktioniert mit den
IF befehlen weil wenn ich das so mache mit
If .....Than
......
Else If ...... Than
......
Else If ...... Than
End If
da sagt mein Bascom Compiler immer Error aber warum ??
Schau mal in die Hilfe:Zitat von Bqube
Syntax
IF expression THEN
[ ELSEIF expression THEN ]
[ ELSE ]
END IF
evtl. wäre es einfacher und übersichtlicher wenn Du das per:
Syntax
SELECT CASE var
CASE test1 : statements
[CASE test2 : statements ]
CASE ELSE : statements
END SELECT
versuchst zu lösen. So viele If then / ElseIf...End if machen das ganze sehr unübersichtlich. Ist aber nur meine persönliche Meinung
Gruss // André
hi,
also da sind schreibfehler drin. probier mal elseif ... then.
gn8 jeffrey
Ich hab alles versucht ich weiß nicht ob ich zu doof dafür bin aber ich will das ich Eine Led mit einem Taster an und ausschalten kann und wenn ich einen anderen Taster drücke soll sie Blinken nur ich bekomme es so hin
Aber mit Elseif und die sache mit dem Case versteh ich schonmal garnet ?Code:D: If Taster = 1 Then Led = 1 Else Led = 0 End If E: If Tastera = 1 Then Goto L Else Goto D End If L: Leda = 1 Waitms 1 Leda = 0 Waitms 1 Goto E
Mal abgesehen davon, dass du dir die Goto's besser abgewöhnen solltest, ist deine Leuchtzeit von 1ms (1/1000 sec) schon recht kurz, ebenso die Auszeit.
Das können deine Augen nicht erkennen. Mach mal Wait 1, dann siehst du was blinken.
Gruß
Rolf
hi,
probier des doch mal so:
mfg jeffreyCode:If Taster = 1 Then Led = 1 Else Led = 0 End If while Tastera = 1 toggle Led waitms 500 wend
Lesezeichen