STM8 SPI主模式

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

STM8 SPI主模式

在主配置时,串行时钟在SCK脚产生。

置配步骤
1.通过SPI_CR1寄存器的BR[2:0]位定义串行时钟波特率。

2.选择CPOL和CPHA位,定义数据传输和串行时钟间的相位关系(见图91)。

3.配置SPI_CR1寄存器的LSBFIRST位定义帧格式。

4.硬件模式下,在数据帧的全部传输过程中应把NSS脚连接到高电平;在软件模式下,需设置SPI_CR2寄存器的SSM和SSI位为'1'。

5.必须设置MSTR和SPE位(只当NSS脚被连到高电平,这些位才能保持为‘1’)。
在这个配置里,MOSI引脚是数据输出,MISO引脚是数据输入。

数据传输过程
当一字节写进发送缓冲器时,发送过程开始。
在STM8发送第一个数据位时,数据字被并行地(通过内部总线)传入移位寄存器,而后串行地移出到MOSI脚上;MSB在先还是LSB在先,取决于SPI_CR1寄存器中的LSBFIRST位。数据从发送缓冲器传输到移位寄存器时TXE标志将被置位,如果设置SPI_CR1寄存器中的TXEIE位,将产生中断。

当数据传输完成时:

  • 移位寄存器中的数据传送到接收缓冲器,并且RXNE标志被置位。
  • 如果SPI_ICR寄存器中的RXIE位被设置,则产生中断。

在最后一个采样时钟沿,RXNE位被设置,在移位寄存器中接收到的数据字被传送到接收缓冲器。读取SPI_DR寄存器得到这个缓冲值。读SPI_DR寄存器将清除RXNE位。
一旦传输开始,如果下一个将发送的数据被放进了发送缓冲器,就可以维持一个连续的传输流。注意在试图写发送缓冲器之前,需确认TXE标志应该是1。

数据时钟时序图
(图91:数据时钟时序图 )


STM8 SPI主模式

——