bits zusammen verknüpfen

Gast #3178515
Lesenswert?
• ▲
▼
Guten Abend zusammen. Wie kann ich ich pins oben im define verknüpfen.?
Ich möchte die Ausgänge einmal definieren und dann aufrufen können.
Quasi: #define   z0   PD0 und PD1 und PD2

#include <avr/io.h>
#include <util/delay.h>
#include "defines.h"

#define       z0  (1<<PD0) && (1<<PD1)

int main(void){

  DDRC |= 0xff;
  DDRD |= 0xff;

    while(1)
    {
  PORTC  |= (1<<l1)|(1<<l2)|(1<<l3)|(1<<l4);
        PORTD   |= (1<<z0);

    }
}

wisst ihr wie ich es meine.? :)
danke . mfg
Gast #3178527
Lesenswert?
• ▲
▼
mrw schrieb:
> wisst ihr wie ich es meine.? :)

denke schon.

#define       z0  (1<<PD0)|(1<<PD1)

PORTD |= z0

aber das hat Nachteile. Hier wird wirklich der Port erste gelesen, dann 
das oder gemacht und dann wieder geschrieben. Das sind also 3 
Anweisungen. Und dabei darf auch keine ISR einen Pin auf diesem Port 
ändern.

dageben


PORTD |= (1<<PD0);
PORTD |= (1<<PD1);

sind nur 2 Anweisungen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.