【摘要】:为低将激活SPI接口,MISO成为输出引脚,其他引脚成为输入引脚。当为高时所有的引脚成为输入,SPI逻辑复位,不再接收数据。如果配置为输入,必须保持为高以保证SPI的正常工作。2)SPSR的SPIF置位。若SPI中断和全局中断开放,则中断服务程序将得到执行。因此,使用中断方式处理SPI主机的数据传输,并且存在被拉低的可能性时,中断服务程序应该检查MSTR是否为“1”。
1.从机模式
当SPI配置为主机时,从机选择引脚
总是为输入。
为低将激活SPI接口,MISO成为输出(用户必须进行相应的端口配置)引脚,其他引脚成为输入引脚。当
为高时所有的引脚成为输入,SPI逻辑复位,不再接收数据。
引脚对于数据包/字节的同步非常有用,可以使从机的位计数器与主机的时钟发生器同步。当
拉高,SPI从机立即复位接收和发送逻辑,并丢弃移位寄存器里不完整的数据。
2.主机模式
当SPI配置为主机时(MSTR的SPCR置位),用户可以决定
引脚的方向。若
配置为输出,则此引脚可以用作普通的I/O口而不影响SPI系统。典型应用是用来驱动从机的
引脚。如果
配置为输入,必须保持为高以保证SPI的正常工作。若系统配置为主机,
为输入,但被外设拉低,则SPI系统会将此低电平解释为有一个外部主机将自己选择为从机。为了防止总线冲突,SPI系统将实现如下动作:(https://www.xing528.com)
1)清零SPCR的MSTR位,使SPI成为从机,从而MOSI和SCK变为输入。
2)SPSR的SPIF置位。若SPI中断和全局中断开放,则中断服务程序将得到执行。因此,使用中断方式处理SPI主机的数据传输,并且存在
被拉低的可能性时,中断服务程序应该检查MSTR是否为“1”。若被清零,用户必须将其置位,以重新使能SPI主机模式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
