PinX.Y = input
PortX.Y =1
PortY.X = output
Do
If Pin X.Y = 0 then
waitms 100
toggle PortY.X
end if
Loop
So einfach kann das sein....
VG
Neutro
PinX.Y = input
PortX.Y =1
PortY.X = output
Do
If Pin X.Y = 0 then
waitms 100
toggle PortY.X
end if
Loop
So einfach kann das sein....
VG
Neutro
Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
(Mark Twain)
Da ist jetzt aber keine Entprellung des Tasters drin. Das heißt es kann vorkommen, dass wenn du den Taster betätigst der Pin paar mal getoggled wird![]()
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Was meinst Du denn damit, dass PORTA.1 ein high von PORTA.0 bekommt? Hast Du die beiden Anschlüsse miteinander verbunden - und wenn ja, was für ein Gedanke steckt dahinter?wenn z.b Porta.1 ein High von Porta.0 bekommt
Ganz einfach wäre es, wenn Dein Taster an einem Interrupt-fähigen Anschluss hängt. Lässt sich das hardwareseitig realisieren?
Es geht eig. nicht um einen Taster. Hab die Frage nur so gestellt weils fast das gleiche ist. Ich empfange mit meinem Atmega die Position meines Joysticks über RS232 4 Achsen + die Knöpfe. Ich wollte das halt so haben das wenn ich einen Joystickknopf betätige ein belibieger Port auf High geht. Bis jetzt hatte ich es so:
Das Problem ist das die LED die jetzt am Porta.0 hängt Blinkt wenn ich den Knopf gedrückt halte keine Ahnung warum. Ich brauche es aber so das wenn ich einmal drauf drücke der Porta.0 auf ein schaltet und wenn ich wieder drauf drücke der Porta.0 auf aus schaltet. Wichtig ist das es keine Wait Funktionen gibt da der Atmega mein Flyduino mit Joystickdaten füttert und somit den Quadrocopter steuert. Da wären Wait Funktionen denke ich mal unangebrachtCode:If Button1_wert_integer= 1128 then PORTA.0= 1 Else PORTA.0= 0 End if![]()
Gruß Tjark
Schreib es einfach so wie Neutro gepostet hat dann funktioniert es. Nur wenn du nen Taster benutzt, solltest du den noch entprellen. Wenn du kein Wait in der Software haben willst, musst du das entprellen hardwareseitig machen.
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
OkAber das mit dem Flackern der LED. Woran kann das liegen wenn ich es so mache wie oben beschreiben ? Denn müsste mein Programm am Pc wenn ich den Taster drücke ja immer 1128 und denn wieder 0 ausgeben sonst würde die LED doch nur leuchten biss ich wieder los lasse oder ?
Gruß Tjark
Nochmal zum entprellen ich habe mich jetzt informiert das Funktioniert Software seitig ja mit DEBOUNCE aber wie mache ich das Hardware seitig ?
Gruß Tjark
Schau mal hier:
http://www.mikrocontroller.net/articles/Entprellung
Und was meinst du mit dem flackern?
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Lesezeichen