Ich mach sowas, indem ich zwei Tabellen anlege:
Code:
char cPortAddr[17] = { port1, port2,...... port17 };
char cPinMask[17] = { 0x10, 0x20,...... 0xNN };
Portaddr aus dem Datenblatt IO-REG, d.h. meist z.B. PORTD + 0x20
LedAufdrehen( zaehler)
{
uint* Port = cPortAddr[zaehler];
*Port |= cPinMask[zaehler];
}
LedAbdrehen( zaehler)
{
uint* Port = cPortAddr[zaehler];
*Port &= ~cPinMask[zaehler];
}
while (1)
{
sleep (x) // oder sowas ähliches
LedAbdrehen( zaehler);
if (zaehler < 17) zaehler++;
else zaehler = 0;
LedAufdrehen( zaehler);
}
Verständlich ?
Lesezeichen