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
fd
O 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.