Знатоки помогите!
Написал код
// External Interrupt 0 service routine
interrupt [EXT_INT0] ext_int0_isr(void)
{ char i=0,n=0,key_0=0;//Начальные значения счетчиков
PORTB.3=1,delay_ms(30);//атидребезговая пауза+beep
PORTB.3=0;//Конец beep
while(PIND.2)//выполнять пока PIND.2=1
{PORTD=((i)<<4),n=i,key_0=n;
if(!PIND.2){break;}//если PIN.2=0 покинуть цикл
PORTD.3=1,n=(i+16),key_0=n;//включить дешифратор
if(!PIND.2){break;}// если PIN.2=0 покинуть цикл
i++;
}
PORTD.3=0,i=0,n=0;//Сбросить счетчики и дешифратор
PORTD=((0x0)<<4);//сбросить выходы PORT.4_7
GIFR|=1<<6;//Выставить 1 в регистре флагов(INT0)
//return (key_0);// не работает ругается
}
обслуживание клавы через дешифраторы(31 кнопка)
как правильно написать чтобы возвращалось значение key_0