Цитата(Pyku_He_oTTyda @ Mar 22 2007, 20:44)

Вот такой кусочек кода, как написать его покрасивее?
Смотря что подразумевать под "красивее". можно так:
Код
#define KEY_UP (1<<0)
#define KEY_DOWN (1<<1)
#define KEY_LEFT (1<<2)
#define KEY_RIGHT (1<<3)
#define KEY_MODE (1<<4)
#define KEY_SET (1<<5)
void read_key()
{
uint8_t Port_Val = PINA;
if(!(Port_Val & KEY_UP))
up_press = 1;
else
up_press = 0;
.......
if( !(Port_Val & (KEY_UP | KEY_DOWN | KEY_LEFT | KEY_RIGHT | KEY_SET | KEY_MODE)))
key_press = 1;
else
key_press = 0;
}
А можно так:
Код
#define KEY_UP (1<<0)
#define KEY_DOWN (1<<1)
#define KEY_LEFT (1<<2)
#define KEY_RIGHT (1<<3)
#define KEY_MODE (1<<4)
#define KEY_SET (1<<5)
enum keypressed_t {RELEASED, UP, DOWN, LEFT, RIGHT, MODE, SET};
keypressed_t Key;
void read_key()
{
uint8_t Port_Val = PINA;
if(!(Port_Val & KEY_UP))
Key = UP;
else
if(!(Port_Val & KEY_DOWN))
Key = DOWN;
.......
else
Key = RELEASED;
}
void check_key()
{
switch(Key)
{
case UP:
.....
break;
case DOWN:
.....
break;
case RELEASED:
default:
.....
break;
}
}