STM8 单工通信

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

STM8 单工通信
SPI能够以两种配置工作于单工方式:

  • 1条时钟线和1条双向数据线
  • 1条时钟线和1条数据线(双工或接收方式)

1条时钟线和1条双向数据线
设置SPI_CR2寄存器中的BDM位启用此模式。在这个模式中,SCK用作时钟,主模式中的MOSI或从模式中的MISO用作数据通信。
传输的方向(输入或输出)由SPI_CR2寄存器里的BDOE控制,当这个位是1的时候,数据线是输出,否则是输入。

1条时钟和1条数据线(双工或只接收方式)
为了释放一根I/O脚作为它用,可以通过设置SPI_CR2寄存器中的RXONLY位来禁止SPI输出功能。这样的话,SPI将运行于只接收模式。当RXONLY位置0时,SPI又会恢复到全双工模式。

只接收模式
在只接收模式下,必须首先配置并使能STM8的SPI。

  • 在主模式下,一旦SPE被置1通信立即启动,当SPE位被置0时通信即停止。在这个模式下,STM8不需要读取BUSY标志位。因为通信在进行并且总线被占用,这个标志位一直为1,直到SPE位被置0。
  • 在从模式下,只要NSS被拉低(或SSI位为0)并且SCK持续送到从设备,SPI就一直在接收。

注意:当SPI_CR2寄存器中的RXONLY位为'0'时,SPI可以工作于只发送模式,接收引脚(主设备的MISO,或者从设备的MOSI)可以当作通用IO口使用。因此读数据寄存器时,读不到接收的值。


STM8 单工通信

——