Плииз хэлп: Продолжение трабла с SPI у SAM7 САМ7 читает все ок, CS пропаян правильно, если принудительно (ручками) замыкаю CS у salve'а, все в порядке. Не работает NPCS0.
Инициализирую:
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PIOA);
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_SPI);
AT91F_SPI_CfgPIO();
AT91F_SPI_Reset(AT91C_BASE_SPI);
AT91F_SPI_Enable(AT91C_BASE_SPI);
AT91F_SPI_CfgMode(AT91C_BASE_SPI, AT91C_SPI_MSTR |
AT91C_SPI_MODFDIS | (0xE << 16));
AT91F_SPI_CfgCs(AT91C_BASE_SPI, 0, AT91C_SPI_CPOL |
((MASTER_CLOCK / (2 * DATAFLASH_CLK)) << 8));
Пишу-читаю:
while((p_pSpi->SPI_SR & AT91C_SPI_TDRE) == 0);
p_pSpi->SPI_TDR = (data & 0xFFFF);
while((p_pSpi->SPI_SR & AT91C_SPI_RDRF) == 0);
spib = ((p_pSpi->SPI_RDR) & 0xFFFF);
return spib;