Цитата(ivstech @ Apr 17 2007, 14:39)

На AT91SAM7S можно задавать такую задержку
каким регистром если не секрет ?
Цитата(sergeeff @ Apr 17 2007, 17:13)

В регистре SPI_MR есть поле DLYBCS - dalay between chip select.
в датащите написано :
•DLYBCS: Delay Between Chip Selects
This field defines the delay from NPCS inactive to the activation of another NPCS. The DLYBCS time guarantees non-overlapping
chip selects and solves bus contentions in case of peripherals having long data float times.
If DLYBCS is less than or equal to six, six MCK periods will be inserted by default.
Otherwise, the following equation determines the delay:
Delay Between Chip Selects= DLYBCS/MCK
не означает ли это что это пауза между чип селектом и длугим чип селектом (на другой ноге NPCS) ?
я попробовал выставить эту паузу :
AT91C_BASE_SPI0->SPI_MR = 0xff070019; // пауза - 0xff
а при записи я делую так
spi_to_send->SPI_CSR[3] = 0x01000801; // снимать чип селект после передачи
spi_to_send->SPI_TDR = data;
spi_to_send->SPI_CR|= AT91C_SPI_LASTXFER; // это и есть последняя посылка
и не смотря на биты CSAAT(снят ) и LASTXFER(выставлен) - при последовательной передаче нескольких байт чип селект между ними не пропадает ...
почему бы это ?