다음을 통해 공유


SPB_MULTI_SPI_TRANSFER 구조체(spb.h)

SPB_MULTI_SPI_TRANSFER 구조는 이중 또는 쿼드 SPI와 같은 다중 SPI 전송 모드를 사용하여 실행할 SPI I/O 작업을 설명합니다.

통사론

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 값을 0으로 지정해야 합니다.

요구 사항

요구
헤더 spb.h

참고 항목