SPI 芯片选择和 SPI 引脚选择之间的区别是什么?

此外、我们还尝试将三个8位数据从 TMS570LC43x 板发送到子板。 要求是 CS 在整个操作过程中应处于低电平。 我们将值写入特定的寄存器、然后从该寄存器中读取相同的值。 传输操作使用3个 spiTransmit() API。 在另一个函数中,有2个 spiTransmit() API 后跟一个 spiReceive() API。 下面给出了该函数的代码。
发送操作:
dataconfig1_t.CS_HOLD = true;
dataconfig1_t.WDEL = false;
dataconfig1_t.DFSEL = SPI_FMT_0;
dataconfig1_t.CSNR = SPI_CS_0;
dataconfig1_f.CS_HOLD = FALSE;
dataconfig1_f.wdel = false;
dataconfig1_f.DFSEL = SPI_FMT_0;
dataconfig1_f.CSNR = SPI_CS_0;
ACK= spiTransmitData ((spiBASE-_t *) spiREG1、(spiDAT1_t *)和 dataconfig1_t、1、(uint16 *)&OP1);
Ack1=spiTransmitData ((spiBASE-_t *) spiREG1、(spiDAT1_t *)和 dataconfig1_t、1、(uint16 *)&OP2);
spiTransmitData ((spiBASE-_t *) spiREG1、(spiDAT1_t *)和 dataconfig1_f、1、(uint16 *)&value);
接收操作:
dataconfig1_t.CS_HOLD = true;
dataconfig1_t.WDEL = false;
dataconfig1_t.DFSEL = SPI_FMT_0;
dataconfig1_t.CSNR = SPI_CS_0;
dataconfig1_f.CS_HOLD = FALSE;
dataconfig1_f.wdel = false;
dataconfig1_f.DFSEL = SPI_FMT_0;
dataconfig1_f.CSNR = SPI_CS_0;
Flag1=spiTransmitData ((spiBASE-_t *) spiREG1、(spiDAT1_t *)&dataconfig1_t、1、(uint16 *)&optcode1);
flag2=spiTransmitData ((spiBASE-t *) spiREG1、(spiDAT1_t *)和 dataconfig1_t、1、(uint16 *)&optcode2);
flag3=spiReceiveData ((spiBASE-_t *) spiREG1、(spiDAT1_t *)&dataconfig1_f、1、(uint16 *)&RECEIVED_DATA);
我们要发送的值为0x31、但得到的值为00。 有人能帮忙解释一下吗?
提前感谢!



