Compartilhar via


Função SPIMaster_WriteThenRead

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

Executa uma sequência de gravações meio duplex imediatamente seguidas por uma leitura meio duplex usando a interface spi master. Essa função permite que o chip selecione uma vez antes da sequência e a desabilita 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

  • fdO descritor de arquivo para a interface master SPI.

  • writeData Os dados a serem gravados.

  • lenWriteData O número de bytes a serem gravados.

  • readData O buffer de saída que recebe os dados. Esse buffer deve ser grande o suficiente para receber até lenReadData bytes.

  • lenReadData O número de bytes a serem lidos.

Valor retornado

Retorna o número de bytes transferidos; ou -1 para falha, nesse caso errno é definido como o valor do erro.

Observações

Cada chamada para SPIMaster_WriteThenRead é limitada a no máximo 4.096 bytes a ler e 4.096 bytes a serem gravados. Para transferir dados adicionais, você precisa chamar essa função várias vezes. Observe que a seleção do chip será afirmada várias vezes nesse caso.

Requisitos de manifesto do aplicativo

Para acessar interfaces spi individuais, seu aplicativo deve identificá-las no campo SpiMaster do manifesto do aplicativo.