Решил я заняться изучением АРМа – AT91SAM7S64. Написал в Кейле SPI инициализацию:
Код
AT91C_BASE_PMC->PMC_PCER = 1<<2 | 1<<5; //PIOA, SPI Peripheral Clock Enable
AT91C_BASE_PIOA->PIO_PDR = 1<<11 | 1<<12 | 1<<13 | 1<<14; //Disables PIOA Control,enables peripheral control
AT91C_BASE_PIOA->PIO_ASR = 1<<11 | 1<<12 | 1<<13 | 1<<14; //Peripheral A select
T91C_BASE_SPI->SPI_MR = AT91C_SPI_MSTR | 14<<16; //Master mode | Fixed Peripheral Select - NPCS0, PCS = xxx0 NPCS[3:0] = 1110
AT91C_BASE_SPI->SPI_CSR[0] = 48<<8; //SPCK Baudrate
AT91C_BASE_SPI->SPI_CR = 1; //SPI Enable
AT91C_BASE_SPI->SPI_TDR = 100; //Data
Но ничего не сработало: SPI просто решил не запускаться (в SPI Status Register SPIENS = 0), в Logic Analyzer уровни линий NPCS0, MISO, MOSI, PSCK не разу не поменялись. Уже весь день пробую понять, в чём проблема? А она именно в этих строчках...