다음을 통해 공유


SPIMaster_WriteThenRead 함수

헤더: #include <applibs/spi.h>

SPI master 인터페이스를 사용하여 반이중 쓰기의 시퀀스를 수행한 다음, 반이중 읽기를 수행합니다. 이 함수는 시퀀스 전에 칩 선택을 한 번 사용하도록 설정하고 종료 시 사용하지 않도록 설정합니다.

static inline ssize_t SPIMaster_WriteThenRead(int fd, const uint8_t *writeData, size_t lenWriteData, uint8_t *readData, size_t lenReadData);

매개 변수

  • fdSPI master 인터페이스에 대한 파일 설명자입니다.

  • writeData 쓸 데이터입니다.

  • lenWriteData 쓸 바이트 수입니다.

  • readData 데이터를 수신하는 출력 버퍼입니다. 이 버퍼는 최대 lenReadData 바이트를 받을 수 있을 만큼 커야 합니다.

  • lenReadData 읽을 바이트 수입니다.

반환 값

전송된 바이트 수를 반환합니다. 오류의 경우 또는 -1입니다. 이 경우 errno 오류 값으로 설정됩니다.

발언

SPIMaster_WriteThenRead 대한 각 호출은 읽을 최대 4096바이트, 쓸 바이트 4096바이트로 제한됩니다. 추가 데이터를 전송하려면 이 함수를 여러 번 호출해야 합니다. 이 경우 칩 선택 항목이 여러 번 어설션됩니다.

애플리케이션 매니페스트 요구 사항

개별 SPI 인터페이스에 액세스하려면 애플리케이션이 애플리케이션 매니페스트의 SpiMaster 필드에서 해당 인터페이스를 식별해야 합니다.