既然配置完成了!咱就发送和接收数据喽!这才是最终的目标嘛!哈哈!那就往下看喽!
上面就是读写函数了!四句话解决!是不是很简洁?嘿嘿!肯定是下班等待发送标志空闲,然后再SPI_SendData8()发送数据啦!因为是全双工的嘛,所以每发送出去1bit数据,MCU也会接收到1bit的数据,只是这些事咱不用考虑,因为MCU的SPI控制器已经给咱们干了。哈哈!所以发送了之后,就要该读取了!但是总得等待接收标志位空闲吧!然后读取就返回了!所以,对于SPI的通信,发送数据和读取数据就是同一个函数实现喽!但是,有一点要注意哦,SPI通信接收的数据是上一次的数据,啥意思呢??比如,咱发送一个命令(0x08),spi_data = SPI_SendData8(SPI1,0x08);这是返回的spi_data不是命令0x08所返回的结果数据,所以想要获取命令0x08的返回数据,就要紧接着spi_data = SPI_SendData8(SPI1,0xff);这次才是命令0x08所返回的数据,这一点尤其要注意。 |