Всем здрасте,
пытаюсь управлять двумя устройствами по spi при этом первое работает а вот второе упорно не хочетю Может подскажете чего. Сам думаю что не правильная настройка регистров.
Код
// Configure SPI PIOs
AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA,AT91C_PA9_NPCS1 | AT91C_PA11_NPCS0 | AT91C_PA12_MISO | AT91C_PA13_MOSI | AT91C_PA14_SPCK, 0);
// Configure PMC by enabling SPI clock
AT91F_SPI_CfgPMC ();
AT91F_SPI_Reset(AT91C_BASE_SPI);
AT91F_SPI_CfgMode(AT91C_BASE_SPI, AT91C_SPI_MSTR |AT91C_SPI_PS| AT91C_SPI_PS_VARIABLE | AT91C_SPI_MODFDIS | ((0x10 << 24) & AT91C_SPI_DLYBCS));
AT91F_SPI_CfgCs(AT91C_BASE_SPI, 0, AT91C_SPI_CPOL | AT91C_SPI_BITS_8 | ((0x40 << 8) & AT91C_SPI_SCBR) | //Serial Clock Baud Rate
(AT91C_SPI_DLYBS & (128 << 16)) |
((0x2 << 24) & AT91C_SPI_DLYBCT)); //Delay Between Consecutive Transfers
AT91F_SPI_CfgCs(AT91C_BASE_SPI, 1, AT91C_SPI_CPOL | AT91C_SPI_BITS_8 | ((0x40 << 8) & AT91C_SPI_SCBR) | //Serial Clock Baud Rate
(AT91C_SPI_DLYBS & (128 << 16)) |
((0x2 << 24) & AT91C_SPI_DLYBCT)); //Delay Between Consecutive Transfers
AT91F_SPI_Enable(AT91C_BASE_SPI);
AT91F_SPI_PutChar(AT91C_BASE_SPI,data[1],0);// на первое устройство - все ок
AT91F_SPI_PutChar(AT91C_BASE_SPI,data[1],1);//на второе устройство - не работает
просьба зарание не отправлять в даташел. был там уже