PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable Portauswahl



McJenso
14.10.2007, 12:16
Hallo,

gibt es eine Möglichkeit innerhalb einer Funktion Ports variabel auszuwählen?

Zur Klarheit, ich suche etwas wie:

void MeineFunktion (uint8_t i)
{
PORT[i] |= (1<<2);
}

Man könnte natürlich eine if oder switch Anweisung nutzen. Ich hoffe aber auf eine elegantere Lösung.
Programmiere mit WinAVR mit AVR Studio 4, konkret einen ATMega8.

Danke

Jens

CsT
14.10.2007, 13:30
Hi ..



void MeineFunktion(volatile uint8_t *port, uint8_t bit)
{
*port |= (1<<bit);
}


und Aufruf:


MeineFunktion(&PORTD, 7);

McJenso
14.10.2007, 14:49
Ach ja,

es kann ja so einfach ein.](*,)

Danke