Цитата(Alexey V. @ May 10 2006, 09:28)

USICR = (1 << USICS1) | (1 << USIWM0);
USIDR = 0x55;
USISR = (1 << USIOIF);
while((USISR & (1 << USIOIF)) == 0);
bTmp = USIDR;
Main.Ch1RxData = bTmp;
USICR = (0 << USICS1) | (0 << USIWM0);
А как насчет того чтобы открыть нужные порты на тип
DDRB.5=1
DDRB.6=1
DDRB.7=1
Вот код инициализации на прием по SPI,я задейсвовал для прерывания USI Overflov
USISR=$40
USICR=$5C
Ну и...
DDRB.5=1
DDRB.6=1
DDRB.7=1