Hallo Ich finde irgendwie nicht den richtigen Zugriff auf einzelne Bits eines Bytes. Ich möchte gern die Zustände eines Bytes auf verschiedene Ports des Atmels ausgeben, z.B. Bit 0..2 --> PORTD 2..4 und Bit 3..7 --> PORTB 0..4 usw., bzw. Bit0 --> PinX oder so in der Art. Helft mir da bitte mal auf die Sprünge :-). Danke Marco
Jetzt hab ich's. Ich mache es wie folgt: Ich vergleiche das Byte Wert mit 1,2,4,8 usw. und erhalte 1,2,4,8 wenn ich folgendes abfrage: if ((byte & 1)==1)sbi(PORTX, 0); else cbi (PORTX, 0); Was haltet ihr davon. Gibt es eine bessere Möglichkeit?
Hallo, die Lösung ist schon richtig. Das gewünschte Bitmuster mittels UND ausmaskieren und entsprechend abfragen. Da du viele einzelne Bits auf die Ports verstreust wird das direkte setzen der Pins auch das einfachste sein. Hat man dagegen beispielsweise ein halbes Byte, so kann es schon sinnvoller sein, den Wert mit dem anderen Halbbyte des Ports zu verknüpfen und dann eine byteweise Ausgabe zu machen. Viel Grüße
Hello Marco, You may write to me privately at: a n d r e w d l l@lycos.com See my web site for introduction: http://andrewdll.angelfire.com I do have experience with programming the microprocessor for motion control. I may hep you. Andrew
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.