Forum: Mikrocontroller und Digitale Elektronik Schrittweises Bit-Auslesen aus einem Byte-Wert


von Peter Roß (Gast)


Lesenswert?

Hallo und einen schönen Tag,

ich habe zur Ausgabe mehrere Byte-Werte, wovon jedoch nur jeweils 6 Bits 
(bit-0 bis bit-5) zur Ansteuerung von LEDs benötigt werden. Gibt es eine 
kompakte BASCOM-Routine, die mir das bitweise Byte-auslesen vereinfacht. 
Ich möchte ungern den ganzen Port belegen, da ich um jeden Port-Pin 
angewiesen bin.

Vielleicht gibt es einen Fan unter euch, der mir helfen kann.
Danke und viele Grüße
Peter

von bastler (Gast)


Lesenswert?

A = &B00111111

B = &B01110000

C = B And A

bit 6 und 7 werden nicht benutzt

von Peter D. (peda)


Lesenswert?

bastler wrote:
> A = &B00111111

A ist dann also die Adresse einer Variablen mit dem Namen B00111111.


Peter

von Paul Baumann (Gast)


Lesenswert?

Nein, der Variablen A (die hier als Byte definiert sein muß) wird der
Binärwert "00111111" zugewiesen.

MfG Paul

von STK500-Besitzer (Gast)


Lesenswert?

>> A = &B00111111

>A ist dann also die Adresse einer Variablen mit dem Namen B00111111.

In Bascom (und anderen Basic-Dialekten) wird eine nichtdezimale 
Zahlendarstellung mit "&" eingeleitet...

von Peter Roß (Gast)


Lesenswert?

Vielen Dank für Eure Teilnahme,

auf die And-Anweisung hätte ich auch selber kommen müssen; autsch!
Dennoch wird der ganze Port belegt, wenn ich den Wert zuweise.

Bei der Port-Adressierung kann ich z.B sagen:
Portb.2 = 0
gibt es sowas auch für Variable; z.B.
Portb.2 = X.1
portd.b = X.3  usw..

Eine deratrige Routine wäre für meine Arbeit hilfreich.

von Tubie (Gast)


Lesenswert?

Port einlesen, Bits, die benötigt werden setzen und anschließend wieder 
den Port ausgeben.

Anfangszustand: 0000 0011   (Einlesen)

            or  0011 0000

Endzustand:     0011 0011   (Ausgeben)

Gruß,
Tubie

von gast (Gast)


Lesenswert?

>gibt es sowas auch für Variable; z.B.
>Portb.2 = X.1
>portd.b = X.3  usw..

Ja, genau so, wie es da steht, funktioniert das in Bascom, wenn X ein 
Byte ist.

von Peter Roß (Gast)


Lesenswert?

suuuuper

es klappt, damit kann ich meine Port-Ausgänge optimal nutzen.

Danke

Roß

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.