Compartir a través de


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 hasta lenReadData 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.