jak powrócić z powrotem z BLUELIGHT do pętli głównej w takim kodzie:

 void BLUELIGHT(void)
{
	OCR0=175;
	pwm2=175;


}





int main(void)
{
	int a=0;
	int potw=0;
	DDRA |= (1<<PA1);
	DDRC |= (1<<PC0);
	DDRC |= (1<<PC1);
	DDRB |= (1<<PB0);
	DDRB &= ~KEY_PIN;
	PORTB |= KEY_PIN;


	while (1)
	{

			if(KEY_DOWN)
			{
				_delay_ms(25);
				if(KEY_DOWN)
				{
					a++;
				}
			}
			if(KEY_DOWN2)
			{
				_delay_ms(50);
				if(KEY_DOWN2)
				{


				}
			}
			if(a==1)
			{
				BLUELIGHT();
			}

			if(a==4)
			{
				a=1;
			}




/*

		switch(a)
		{
			case 1:
				BLUELIGHT();
				break;

			case 2:

				break;
			case 3:

				break;
		}

		}
	}

oraz dlaczego jeśli umieszczę dekrementację

if(KEY_DOWN2)
			{
				_delay_ms(50);
				if(KEY_DOWN2)
				{
                                       a--;

				}
			} 

to przestaje mi działać inkrementacja, tak jakby przyciski przestały działać??

wszystkie zegary wejścia i wyjścia są dobrze zadeklarowane i połączone. chodzi tylko i wyłącznie o te dwa motywy.

ps: pętla będzie tak długo działać aż potw będzie równe bądź większe od 1?

while(potw<1)
{
}