hallo

ich habe mir das programm angeschaut und versucht es auf eine andere art zu schreiben

es funktioniert aber überhaupt nicht, kannst du mir vielleicht sagen was an der idee falsch ist

was bedeuten in deinem programm die patt variablen

und in der softdelay funktion ist eine warnung und ich weiß nicht was das ist
es zeigt auf die for schleife

"LAUFLICHT.C(23: warning C137: constant in condition expression "

danke auch für deine hilfe

Code:
#define eins 500
#define zwei 250	
#define drei 125

void softdelay();
void erste();
void zweite();
void dritte();

sbit port15= P2^15;


void main(void)
{
	DP2= 0xFFFF;
	P2=0x0001;
	
	
	while(1)	
	{
		int i=0;

		for(i=0; i<=eins; i++)
		{
			if(i==drei)
				dritte();
			else if(i==zwei)
				zweite();
			else if(i==eins)
				erste();

			softdelay();
		}

	}
}

void erste(void)
{
	 if (P2<=0x0080)
	 	P2=P2<<1;
	else 
		P2=0x0001;
}


void softdelay()
{
	unsigned int j=0;

	for (j=0; j=2000; j++)
	{};
}