Цитата(MegaFPGA @ Jun 9 2010, 06:15)

а разве команда DataReceived=pSPI->SPI_RDR; не выдает байт для того чтоб выдвинуть байт из слейва ?
Разумеется, нет. Чтение RDR не вызывает никаких эффектов, кроме сброса флага RDRF.
Цитата(MegaFPGA @ Jun 9 2010, 07:19)

Пробовал делать как вы говорите. Тот же результат. Флешка вседа возвращает то же что ей отправил.
Окончания передачи подождать не забываете?
Код
unsigned int spi0_trans(unsigned int data)
{
AT91C_BASE_SPI0->SPI_TDR = data;
while(!(AT91C_BASE_SPI0->SPI_SR & AT91C_SPI_RDRF));
return (AT91C_BASE_SPI0->SPI_RDR);
}