
SPI通信协议(软件SPI和硬件SPI)
当准备发数据时,如果检测到TXE=1(TDR为空),则软件写入数据(0xF1),此时TDR为0xF1,TXE则变为0,如果移位寄存器为空,则数据(0xF1)转入移位寄存器里,然后移位寄存器就将数据发送出去了,接着等待RXNE为1,即接收到数据,此时可以读取RDR里的数据,然后将下个数据(0xF2)写入TDR,接着重复以上过程,循环八次即可交换一个字节。当发送完一个数据时,此时移位寄存器中也接收到了来自从机发送过来的数据,接着将数据转入接受数据寄存器RDR中,并置RXNE标志位(RDR非空标志位)

























