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


структура 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

См. также раздел