SPIMaster_WriteThenRead函数
标头: #include <applibs/spi.h>
使用 SPI 主接口立即执行一系列半双工写入,然后执行半双工读取。 此函数在序列之前启用芯片选择一次,并在序列结束时禁用它。
static inline ssize_t SPIMaster_WriteThenRead(int fd, const uint8_t *writeData, size_t lenWriteData, uint8_t *readData, size_t lenReadData);
参数
fd
SPI 主接口的文件描述符。writeData
要写入的数据。lenWriteData
要写入的字节数。readData
接收数据的输出缓冲区。 此缓冲区必须足够大才能接收最多lenReadData
字节。lenReadData
要读取的字节数。
返回值
返回传输的字节数;或 -1 表示失败,在这种情况下 errno
设置为错误值。
言论
对 SPIMaster_WriteThenRead 的每次调用最多只能读取 4096 个字节,最多只能写入 4096 个字节。 若要传输其他数据,需要多次调用此函数。 请注意,在这种情况下,芯片选择将多次断言。
应用程序清单要求
若要访问单个 SPI 接口,应用程序必须在 应用程序清单的 SpiMaster 字段中标识它们。