Partilhar via


Função SPIMaster_WriteThenRead

Cabeçalho: #include <applibs/spi.h>

Efetua uma sequência de escritas semi-duplex imediatamente seguidas de uma leitura semi-duplex com a interface mestra SPI. Esta função ativa a seleção de chip uma vez antes da sequência e desativa-a quando termina.

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

Parâmetros

  • fd O descritor de ficheiros da interface mestra SPI.

  • writeData Os dados a escrever.

  • lenWriteData O número de bytes a escrever.

  • readData A memória intermédia de saída que recebe os dados. Esta memória intermédia tem de ser suficientemente grande para receber até lenReadData bytes.

  • lenReadData O número de bytes a ler.

Valor devolvido

Devolve o número de bytes transferidos; ou -1 para a falha, caso errno em que está definido como o valor de erro.

Observações

Cada chamada para SPIMaster_WriteThenRead está limitada a, no máximo, 4096 bytes para ler e 4096 bytes para escrever. Para transferir dados adicionais, tem de chamar esta função várias vezes. Tenha em atenção que a seleção de chip será afirmada várias vezes neste caso.

Requisitos do manifesto de aplicação

Para aceder a interfaces SPI individuais, a sua aplicação tem de identificá-las no campo SpiMaster do manifesto da aplicação.