Hallo allerseits,

ich weiß, das ist eine Anfängerfrage, aber mich interessierts trotzdem:

Ich will, weil ich noch nicht weiß, wie das genaue Layout aussehen wird, mal die IO-Ports nich fest hardcoden, sondern in einer externen Datei festlegen. Dass ich also statt dem PORTA (z.B. hängt da Motor 1) das Register PORTM1 verwende, um später festlegen zu können, wo was hängt.

Was ich jetzt nicht weiß: Wenn ich ihm irgendwo eine Variable mit
Code:
uint_8 PORTM1;
erzeuge und anschließend den Wert PORTA zuweise, wird dann nicht im Speicher irgendwo ein Speicherplatz reserviert, der "tot" ist? Wie kann ich das umgehen?

Wenn ich den Motor am 1 Pin (LSB) habe, kann ich ja (mit PINM1=0) den Motor mit
Code:
PORTM1 |= _BV(PINM1);
einschalten. Wenn ich jetzt aber mit
Code:
PORTM1 |= _BV(PINM1) + _BV(PINM2);
noch den 2. Motor mit dazuschalte, rechnet er mir doch jedes Mal im µC die beiden Zahlen zusammen (braucht eine gewisse Zeit und v.a. mehrere Speicherzeilen im Flash) und Oder-verknüpft das Ergebnis dann mit PORTM1, oder? Wie kann ich den Compiler dazu bringen, dass er das als feste Konstante dem AVR überginbt?

MfG
Christian