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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren