tlacitka vyhodnotenie nabeznej-dobeznej hrany

Martin veeeelka vdaka za obsiahly koment ku kodu teraz uz mi je vsetko jasne.

Nasiel som aj chybu preco mi stvrte tlacitko nereagovalo ked som zadal do cyklu for pocet 4(cize i sa inkrementoval 0,1,2,3). Mal som definovane tlacitka a posledne ESCAPE definovane ako 4 mi vracalo hodnotu 16. Uplna hovadina. To ze to bola chyba mi doslo az po tvojom obsiahlom komente ked som pochopil na co je tam cyklus for a premena i. Tu je cast kodu kde bola chyba:

[code]#define POCET_TLACITOK 4

#define CAS_NABEZNEJ_HRANY 25
#define CAS_DOBEZNEJ_HRANY 41

#define SIPKA_HORE 1
#define SIPKA_DOLE 2
#define ENTER 3
#define ESCAPE 4

#define SET(BAJT,BIT) ((BAJT) |= (1<<(BIT)))

unsigned char klavesnica(void){
		
unsigned char aktual=0;

if((PIND&(1<<PD2))==0) SET(aktual,SIPKA_HORE);

if((PIND&(1<<PD6))==0) SET(aktual,SIPKA_DOLE);

if((PIND&(1<<PD7))==0) SET(aktual,ENTER);	

if((PINB&(1<<PB0))==0) SET(aktual,ESCAPE); 

return (aktual);
				[/code]