Taster als Schalter Programmieren

OP #3102906
Lesenswert?

Hallo Community,

Ich finde nichts im Netz wo man einen Taster als Schalter programmieren 
kann. Beim ersten ersten drücken soll er Gnd durchschalten und den 
Zustand solange halten bis ich ihn erneut betätige. Ich finde entprellen 
ect. aber nicht sowas im netz oder zublöd dafür....
Suche das in der Programmiersprache C.

mFg Korlask
Gast #3102918
Lesenswert?

Hi
Schön, das über "faule Anfänger" geschimpft wird. Schade, um die Zeit, 
die dafür benötigt wird.
Entprellen ist die eine Sache, das was du brauchst ist eine 
Flankenauswertung. Ich weiß nicht, in welcher Sprache du unterwegs bist, 
aber ich denke, dazu gibt's in jeder Rubrik etwas.
Du merkst dir einfach den letzten gültigen Eingang und machst eine Ex-Or 
auf den neuen Status. Ist der unterschiedlich, dann bekommst du eine "1" 
als Ergebnis. Vergleichst du diese "1" mit dem alten Zustand, dann ist 
der Wechsel von "1" nach "0" erfolgt, wenn du den neuen Status nimmst, 
dann ist es ein Wechsel von "0" nach "1",
In Assembler ein kleines Beispiel:
1
LDS R16, Old_Status    ; alter Status
2
LDS R17, New_Status    ; aktueller Status
3
EOR R16, R17           ; ex-or Ergebnis "1" wenn unterschied
4
BREQ weiter            ; wenn 0, dann Old_status = new_Staus
5
AND R16, R17           ; 1=Änderung, da neuer Status 1 Änderung 0-> 1
6
STS Old_Status, R17    ; Flankenbit ablegen
7
STS In_To_1, R16       ; new_Status nach Old_Status
8
weiter:
Nun gilt es, im Programm dieses Flankenbit abzufragen, zu bearbeiten und 
zu löschen. Solange der Taster gedückt bleibt, ändert sich der Status ja 
nicht und ein neues Flankenbit gibts erst beim erneuten betätigen.
Übrigends, wenn du deine Eingänge nach GND schaltest, dann ist es 
einfacher, mit einem COM-Befehl (Assembler) die gelesenen Eingänge zu 
drehen. So wird aus einer logischen "0" eine "1" und es ist leichter im 
Kopf zu behalten "Taster gedrückt = 1"
Gruß oldmax

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren