@ Papuadive
machs doch nicht so kompliziert wenn das auch einfach geht
uint8_t taste_lesen()
{
uint8_t keys = 0;
char wert ='-';
PORTD=0x03;
_delay_us( 10 );
keys = PIND;
if (keys == 115)
wert ='3';
if (keys == 179)
wert ='6';
if (keys == 211)
wert ='9';
if (keys == 227)
wert ='#';
PORTD=0x05;
_delay_us( 10 );
keys = PIND;
if (keys == 117)
wert ='2';
if (keys == 181)
wert ='5';
if (keys == 213)
wert ='8';
if (keys == 229)
wert ='0';
PORTD=0x06;
_delay_us( 10 );
keys = PIND;
if (keys == 11
wert ='1';
if (keys == 182)
wert ='4';
if (keys == 214)
wert ='7';
if (keys == 230)
wert ='*';
keys =wert;
_delay_us( 10 );
return keys;
}

Diese funktion fragt deine Tasten ab (Indiotensicher)