Подскажите плиз, в чем может быть проблемма? Не получается запустить SPI-1
AT91C_BASE_PIOA->PIO_PDR = SPI1_MISO | SPI1_MOSI | SPI1_SCK;
AT91C_BASE_PIOA->PIO_ASR = SPI1_MISO | SPI1_MOSI | SPI1_SCK;
AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_SPI1;
/**** Fixed mode ****/
AT91C_BASE_SPI1->SPI_CR = AT91C_SPI_SWRST | AT91C_SPI_SPIEN; //SPI Enable, Sowtware reset
AT91C_BASE_SPI1->SPI_CR = AT91C_SPI_SPIEN; //SPI Enable
*AT91C_SPI1_MR = AT91C_SPI_MODFDIS | AT91C_SPI_PS_FIXED | AT91C_SPI_MSTR | (0x0E<<16);
AT91C_SPI1_CSR[0] = AT91C_SPI_NCPHA | AT91C_SPI_BITS_8 | (SPI1_CLK_DIV<<8);
потом делаю
AT91C_BASE_SPI1->SPI_TDR = data;
while(!(AT91C_BASE_SPI1->SPI_SR & AT91C_SPI_RDRF));
return (AT91C_BASE_SPI1->SPI_RDR);
а ножки не дергаются, если же отключить
AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_SPI1;
то виснет как и должно на
while(!(AT91C_BASE_SPI1->SPI_SR & AT91C_SPI_RDRF));
если все тоже самое, но для SPI-0, то все работает