Portzugriff mit eigenem Namen

Gast #1143818
Lesenswert?

Hallo, ich kann PortB.0 (PB0) so ausschalten:

PORTB &= ~(1<<PB0);

aber warum nicht so:

#define spi_ss PB0;
PORTB &= ~(1<<spi_ss); // compilerfehler

warum / was kann ich tun? ich möchte gerne Namen im Programm verwenden, 
falls ich mir später mal überlege, daß es ein anderer Port sein soll 
oder so..
#1143836
Lesenswert?

CAnfänger wrote:
> Hallo, ich kann PortB.0 (PB0) so ausschalten:
>
> PORTB &= ~(1<<PB0);
>
> aber warum nicht so:
>
> #define spi_ss PB0;
> PORTB &= ~(1<<spi_ss); // compilerfehler
>
> warum / was kann ich tun? ich möchte gerne Namen im Programm verwenden,
> falls ich mir später mal überlege, daß es ein anderer Port sein soll
> oder so..

#define macht einfach nur eine Textersetzung

mittels
#define spi_ss PB0;
wird der Text "spi_ss" durch den Text "PB0;" ersetzt.

Und jetzt mach das mal händisch:

Aus
PORTB &= ~(1<<spi_ss);

wird dann
PORTB &= ~(1<<PB0;);

Beachte den Strichpunkt nach PB0

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