【摘要】:若SPI移位寄存器可用,这个字节数据将从发送数据缓冲器移动到移位寄存器中,并且SPTEF标志置为1来指示发送缓冲器已经有空间来排列另一个需要发送的字符,同时SPI启动串行传输。在传输结束时,从设备将接收到的数据字节从移位器转移到接收数据缓冲器,同时置SPRF位来表示可以通过读寄存器SPID来读取接收到的数据。当SPI模块被配置为从模式时,它的引脚在传输开始之前必须被拉低,并在整个传输过程中保持为低电平。
SPI主设备在检测到SPI发送缓冲空标志(STPEF)为1时,向SPI数据寄存器(SPID)写入一个字节的数据,可以启动SPI发送。若SPI移位寄存器可用,这个字节数据将从发送数据缓冲器移动到移位寄存器中,并且SPTEF标志置为1来指示发送缓冲器已经有空间来排列另一个需要发送的字符,同时SPI启动串行传输。
SPI进行传输时,MISO引脚的数据在SPSCK时钟的某个边沿被采样和移位,经过8个SPSCK周期,主设备的移位寄存器中的数据就被移位输出到MOSI引脚,再通过从器件的MISO引脚移位到从设备的移位寄存器之中。在传输结束时,从设备将接收到的数据字节从移位器转移到接收数据缓冲器,同时置SPRF位来表示可以通过读寄存器SPID来读取接收到的数据。如果发送端在传输结束时有另一个字节的数据在发送缓冲器内等待,数据就会自动被送到移位器中,并且SPTEF被置1,同时开始新一次的传输。(www.xing528.com)
在默认的情况下,SPI数据的最高有效位(MSB)最先被传送。如果要想最先传送最低有效位(LSB),则可以通过设置寄存器SPI1C1中的控制位LSBFE为1来实现。当SPI模块被配置为从模式时,它的引脚在传输开始之前必须被拉低,并在整个传输过程中保持为低电平。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。