高级会员

- 积分
- 865
- 金钱
- 865
- 注册时间
- 2016-8-25
- 在线时间
- 485 小时
|
发表于 2018-3-21 09:36:59
|
显示全部楼层
SPI1_ReadWriteByte()函数通过调用SPI_I2S_SendData()来实现数据发送。
SPI_I2S_SendData()将要发送的数据写到主控的DR寄存器中,这样,就通过SPI总线向从机发送数据了。
主机发送一个字节给从机,从机同时会传一个字节给主机。主机发送(0xff),同时,从机会向主机发送从机移位寄存器中的数据(一个字节),在这里不要误解主机发送给从机的0xff会被保存在从机的移位寄存器中,从机的移位寄存器中的内容是不会被0xff覆盖的。
对于SPI器件,DR寄存器有两个缓冲区。主机发送0xff后,从机接收0xff,将0xff存在接收缓冲区中,但是并没有将0xff覆盖发送缓冲区。对于W25Q128也是这样的,故不影响W25Q器件内保存的内容。 |
|