Поделиться через


структура SPB_MULTI_SPI_TRANSFER (spb.h)

Структура SPB_MULTI_SPI_TRANSFER описывает операцию ввода-вывода SPI, которая должна выполняться с помощью режима передачи с несколькими SPI, такими как двойной или четырехкратный spi.

Синтаксис

typedef struct SPB_MULTI_SPI_TRANSFER {
  SPB_MULTI_SPI_TRANSFER_HEADER Header;
  ULONG                         TransferPhaseCount;
  SPB_TRANSFER_LIST_ENTRY       TransferPhases[1];
} SPB_MULTI_SPI_TRANSFER, *PSPB_MULTI_SPI_TRANSFER;

Члены

Header

Структура SPB_MULTI_SPI_TRANSFER_HEADER, содержащая параметры передачи.

TransferPhaseCount

Количество этапов передачи, присутствующих в структуре передачи. Для операции чтения это значение должно иметь значение 2 (представляющее этап чтения, а затем этап записи). Для операции записи это значение должно иметь значение 1 (представляющее только этап записи).

TransferPhases[1]

Массив структур SPB_TRANSFER_LIST_ENTRY, представляющий этапы передачи.

Замечания

Если эта структура используется напрямую (а не SPB_MULTI_SPI_WRITE_TRANSFER или SPB_MULTI_SPI_READ_TRANSFER), ее необходимо инициализировать с помощью вспомогательной функции SPB_MULTI_SPI_TRANSFER_INIT.

Эта структура (и связанный заголовок) позволяет указать следующее:

  • Режимы передачи двойного или четырехквадровой передачи SPI.
  • Один или два этапа передачи — этап записи , за которым следует необязательный этап чтения.
  • Переменное число байтов, передаваемых в начале этапа записи в режиме одно spi, прежде чем переходить в указанный режим с несколькими SPI.
  • Где предоставляется этап чтения, переменное число циклов ожидания между записью и этапов чтения — циклы часов, в которых данные не передаются.

Следующие ограничения применяются к этой структуре:

  • Структура TransferPhases в запросе должна содержать ровно одну или две записи. Первая запись описывает буфер, содержащий данные для записи на устройство. Во-вторых, необязательно, запись описывает буфер, используемый для хранения данных, считываемых с устройства.
  • Направление этих TransferPhases должно иметь значение SpbTransferDirectionToDevice и SpbTransferDirectionFromDevice соответственно.
  • Каждая структура SPB_TRANSFER_LIST_ENTRY в списке передачи должна указывать значение DelayInUs нулю.

Требования

Требование Ценность
заголовка spb.h

См. также