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)
{
}