INFO - FAQ - CC2-Forum - CCPro-Forum |
> 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 |