Función SPIMaster_WriteThenRead
Encabezado: #include <applibs/spi.h>
Realiza una secuencia de un semidúplex escribe inmediatamente seguido por una lectura semidúplex usando la interfaz maestra SPI. Esta función permite seleccionar el chip una vez antes de la secuencia y lo deshabilita cuando 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
Descriptor de archivo para la interfaz maestra SPI.writeData
Los datos a escribir.lenWriteData
El número de bytes que se escribirán.readData
El búfer de salida que recibe los datos. Este búfer debe ser lo suficientemente grande para recibir hastalenReadData
bytes.lenReadData
El número de bytes que se leerán.
Valor devuelto
Devuelve el número de bytes transferidos; o -1 en caso de error, en cuyo caso errno
se establece en el valor de error.
Observaciones
Cada llamada a SPIMaster_WriteThenRead está limitada a 4096 bytes como máximo para leer y 4096 bytes para escribir. Para transferir datos adicionales, debe llamar a esta función varias veces. Tenga en cuenta que la selección de chips se aplicará varias veces en este caso.
Requisitos del manifiesto de la aplicación
Para acceder a interfaces SPI individuales, la aplicación debe identificarlas en el campo SpiMaster del manifiesto de la aplicación.