Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Tasterabfrage spinnt Kategorie: Programmierung Basic (von DerMoordeicher - 5.03.2004 8:04)
 Als Antwort auf Tasterabfrage spinnt von Holger - 4.03.2004 23:17
> Hallo Forum :-)
>
> Ich habe da ein kleines Anfängerproblem:
> Ich möchte einen 1poligen Umschalt-taster an die Digitaleingänge der M-Unit anschliessen.
> Dazu habe ich den Taster mit einem 10K Widerstand nach Anleitung angeschlossen.
> Wenn kein Taster betätigt wird, kann ich am Port 5V messen, bei Betätigung 0V.
> Dazu habe ich dieses Programm geschrieben:
>
> define tast1 port[5]
> define tast2 port[6]
> #anfang
> if tast1 = on then print "tast1"
> if tast2 = on then print "tast2"
> goto anfang
>
> Jetzt kommt das seltsame:
> Mein Terminal gibt bei unbetätigtem Taster tast1 tast2 tast1 tast2...aus
> Wenn ich dann zb. Taster 1 betätige kommt die Ausgabe tast1 tast1.....
> bei Taster2 kommt tast2 tast2....
> nach dem loslassen wieder wie im ersten Fall.
> Wenn ich die Ports vorher mit DEACT behandle, hilft das auch nicht.
> Ich bin im Moment ziemlich ratlos ;-(
> Wie kommt dieses seltsame Verhalten zustande und wie werde ich das los
> Vielen Dank im Voraus für die schnelle Hilfe !!!!
>
Das liegt daran, weil die Ports, wie du es ja selbst gemessen hast, in Ruhe 5V also HIGH oder ON
liefern. Genau umgekehrt als man als normaler Mensch denkt. Deshalb muss man die Abfrage
ob ein Taster gedrückt wird ebenfalls negieren.  Also .. if  NOT taste1 then .....
Bei deiner Schleife sind also, ohne was zu tun,  beide if - Abfragen war, deshalb´kommt
tast1 tast2 tast1 usw.
Steht aber auch so in der Anleitung.


Gruß ManfredSt

 Antwort schreiben

Bisherige Antworten: