einzelnen Pin beim Portexpander MCP23017 ansprechen

Hallo,

kann man eben nicht. Man kann nicht ähnlich wie digitalWrite (3, HIGH) einen Pin gezielt ansprechen. Man muß immer ein komplettes Byte rüberschicken.

Du könntest Dir noch die Funktion digitalWrite genauer anschauen, wie die Arduinomacher es gelöst haben. Wobei das bestimmt auch nur eine verpackte Bit Schubserei ist. Oder Du guckst Dir gleich die klassische C Methode an. Lernt man auch viel dabei.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Datenrichtung_bestimmen

Ich würde denken, man könnte die übliche Methode anpassen für den 23017.

Bsp. aus dem Link:

DDRB &= ~((1 << DDB3) | (1 << DDB4));  // Pin 3 und 4 auf Eingang und andere im ursprünglichen Zustand belassen
bzw.
PORTB |= (1<<PB4) | (1<<PB5);  // Pins PB4 und PB5 "high"

Das DDRB bzw. PORTB könnte man als Byte Variable "umbauen" und dieses Byte dann immer rüberschicken. Das wäre jetzt mein Lösungsansatz. Könnte funktionieren.