Forum: Mikrocontroller und Digitale Elektronik BASCOM, Imput Port als Byte Variable abfragen


von Christian (Gast)


Lesenswert?

Hallo,
ich frage mich grad, ob es möglich ist in Bascom das Input eines 
gesamten Portes als Byte Variable abzufragen.

Habe bisher immer geschrieben

IF PINA.0 = 0 AND PINA.1 = 1 AND PINA.2 = 0 AND  ..... then

Is mir etz zu dumm geworden :D

von Karl H. (kbuchegg)


Lesenswert?

Sich fragen ist die eine Sache.

Nachlesen bzw. bei einfachen Dingen, von denen man erwarten kann, dass 
sie sich leicht mit einem Experiment klären lassen, einfach 
ausprobieren, ist der nächste logische Schritt.

von Christian (Gast)


Lesenswert?

Also entwieder es gibt dazu irgendeinen extra spezialbefehl.
Dann würde ich durch Experimente nicht drauf kommen.

Oder es geht mit
IF PINA = (byte) then ...
Das muss ich gleich mal ausprobieren.

Noch ne Frage:

Wenn ich einen Pin oder Port als Einagng definiere, was muss ich dann 
bei dem  Config befehl schreiben.

Config PINA = input oder
Config PORTA = input??

Scheint aber alles das gleiche zu bewirken.

von Selbergucker (Gast)


Lesenswert?

Neben Ausprobieren gibt es auch bei Bascom eine Hilfe.
Die kann man auch mal anschauen, dann muß man nicht so lange auf eine 
Antwort im Forum warten.

von Norbert S. (norberts)


Lesenswert?

Hi,

wenn Du nicht komplett frisch bist ist es echt etwas komisch daß Du so 
fragst.
Deswegen steht Bascom auch immer so blöd da...

Ich rate ab, das mit Config zu machen, dann ist es klarer.
Das Config entspricht dem DataDirectionRegister des Ports.
Der µC kann nur den ganzen Port ansprechen, einzelne Bits anzusprechen 
ist mehr Aufwand.

Als Ausgang:
DDRB = 255   'alle Pins Ausgang
Eingänge sind sie nach dem Start automatisch, wenn Du sie nach obiger 
Zeile als Eingang haben willst:
DDRB = 0

PinB ist immer der Zustand des Ports, ein Byte. Schreiben kann man das 
nicht.
Wenn Eingang, ist PortB der Pullup aller Bits.

Bei allen Registern, Adressen oder Variablen kann man auch einzelne Bits 
ansprechen, PortB.X = 1.

Gruß,
Norbert

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.