我需要在Azure Sphere MT3620上通过SPI传输和读取一个字节。我可以进行写传输(在MOSI上传输)或读传输(在MISO上传输),但是它可以工作,但是在传输数据时(同时在MOSI和MISO上传输),我需要传输字节并读取从另一面传输的内容。我尝试了这段代码,但失败并显示错误22(无效参数)
SPIMaster_Transfer transfer;
if (SPIMaster_InitTransfers(&transfer, 1)) {
Log_Debug("ERROR: Cannot setup SPI transfer. errno=%d (%s)\n", errno, strerror(errno));
}
transfer.flags = SPI_TransferFlags_Read | SPI_TransferFlags_Write;
transfer.length = 1;
transfer.writeData = &byte;
transfer.readData = &readedByte;
size_t status = SPIMaster_TransferSequential(spiFd, &transfer, 1);
if (status == -1) {
Log_Debug("ERROR: SPI transmit failure. errno=%d (%s)\n", errno, strerror(errno));
} else if (status != 1) {
Log_Debug("ERROR: SPI transmit failure. Unknown error\n");
}