Hallo miteinander,
mein Problem schildert sich wiefolgt. Ich habe am PortD.7-D.4 einen Hexadezimalen Codierschalter angeschlossen. Also 1-2-4-8, die C Anschlüssen liegen auf VCC.
Benutze übrigens das RN-Control 1.4. Zur optischen Kontrolle schalte ich die Leds am PortC durch, um den Schalterzustand zu erkennen.
Nur leider passiert rein garnichts. Habs auf vielen Wegen probiert. Nichts hat zum Erfolg geführt.
Liegt es evtl. an der Binärschreibweise wenn ich PortD lesen will? Aber so wie ich das verstehe kommt der obere Nibble doch als erstes. Also würde PortD=&B10000000 eine 1 an PortD.7 bewirken. Das nur zum Verständnis meinerseits. Eigentlich sollte man mit PINX= ... doch auch den ganzen Port abfragen können. Oder ist die If-then-Elseif-Verzweigung Mist?
Nach zwei Tagen ausprobieren und I-Net Recherche find ich keinen Ansatz mehr.
Achso... Schalter ist voll funktionsfähig und gibt die richtigen Zustände an PortD aus
Hier der Code:
Danke für die MüheCode:$regfile "m32def.dat" $crystal = 16000000 $framesize = 32 $swstack = 32 $hwstack = 32 Config Portc = Output Config Portd = Input Do If Pind = &B00000000 Then Portc = &B11111111 Elseif Pind = &B10000000 Then Portc = &B11111110 Elseif Pind = &B01000000 Then Portc = &B11111100 Elseif Pind = &B11000000 Then Portc = &B11111000 Elseif Pind = &B00010000 Then Portc = &B11110000 Elseif Pind = &B10010000 Then Portc = &B11100000 Elseif Pind = &B01010000 Then Portc = &B11000000 End If Loop End
Gruß 128er







Zitieren

Lesezeichen