Вобщем стыдно блин,

как чайник не могу сделать несколько кнопок на Mega32. Вобщем есть программа MMC плеера на AVR, я решил её заюзать в своём проекте. Всё работает, а кнопки которые я от себя добавил не хотят.
Вобщем в WinAVR это очень просто и всегда работает.
Урезанная Часть кода из моего проекта тахометра который я брату в девятку делал
Код
#define leds PD3 //Обзываем кнопки именами
#define lcd PD4
#define regim PD0
//***************************
//Думаем что же там было нажато
volatile uint8_t key (volatile uint8_t s){
if (!(_SFR_BYTE(PIND) & _BV(s))) // или аналог (bit_is_clear(PIND,s))
{
_delay_loop_2(100);
if (!(_SFR_BYTE(PIND) & _BV(s)))
{return (0);}
}
return (1);
}
//***********************************
void check_keys(){ // Расставляем флаги по нажатым кнопкам
if ((key(regim)) == 0 ) {key_pr=3;}
if ((key(lcd)) == 0 ) {key_pr=2;}
if ((key(leds)) == 0 ) {key_pr=1;}
}
Вообщем как гениально просто это сделать на
IAR?
К статье прилагается архив, со схемой и исходниками. Посмотрите пожалуйсто