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.