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