SPIMaster_TransferSequential 函数

标头: #include <applibs/spi.h>

使用 SPI 主接口执行一系列半双工读取或写入传输。 此函数在序列之前启用芯片选择一次,并在序列结束时禁用它。 此函数不支持在单个传输中同时读取和写入。

static inline ssize_t SPIMaster_TransferSequential(int fd, const SPIMaster_Transfer *transfers, size_t transferCount);

参数

  • fd SPI 主接口的文件描述符。

  • transfers 指定传输操作 的SPIMaster_Transfer 结构的数组。 在填充数组之前,必须调用 SPIMaster_InitTransfers 以使用默认设置初始化数组。

  • transferCount 数组中 transfers 传输结构的数目。

返回值

返回传输的字节数;或 -1 表示失败,在这种情况下 errno 设置为错误值。

言论

SPIMaster_TransferSequential 的每次调用最多只能读取 4096 个字节,最多只能写入 4096 个字节,这与实际传输的次数无关。 若要传输其他数据,需要多次调用此函数。 请注意,在这种情况下,芯片选择将多次断言。

应用程序清单要求

若要访问单个 SPI 接口,应用程序必须在 应用程序清单的 SpiMaster 字段中标识它们。