美文网首页
STM32-SPI的理解

STM32-SPI的理解

作者: 纯银耳坠 | 来源:发表于2018-10-27 11:55 被阅读0次

    STM32在芯片内部已经集成了SPI接口,用户只需配置SPI并复用映射到相应的IO口就行。

    一、SPI的特点:

          1.全双工同步通信       

          2.一主多从(主机控制从机)

          3.至少需要4根线,3根线也可以(用于单相传输)

    多个从器件

    二、SPI接口总线

          MISO:主输入/从输出数据。此引脚可用于在从模式下发送数据和在主模式下接收数据

          MOSI:主输出/从输入数据。此引脚可用于在主模式下发送数据和在从模式下接收数据

          SCLK:用于 SPI 主器件的串行时钟输出以及 SPI 从器件的串行时钟输入

          NSS:从器件选择。这是用于选择从器件的可选引脚(片选)



        STM32的SPI一旦配置成主模式,SPI_CR1的SSI就已经置1了,此位的值将作用到NSS引脚上,      并忽略 NSS 引脚的 IO 值


          NSS的配置:    

                                -软件管理NSS:

                                                        1.配置为输出:SPI_CR1的SSOE置1(SSOE:使能输出)

                                                        2.配置为输入:SSM与SSI置1(如果已配置为主模式,SSI就不需要在置高了)

                                -硬件管理NSS:

                                                        1.STM32的SPI配置为主模式时,SSI已经置1,此时的硬件NSS引脚可以给外界使用。如果主从的NSS连接在一起,则可以由主机的NSS去片选从机

                                                         2.STM32的SPI没有配置为主机模式时,硬件NSS一定要置高电平

    三、通信过程

    接收过程:数据收到后,先存储到内部接收缓冲区中;

    发送过程:先将数据存储到内部发送缓冲区中,然后发送数据。

    对 SPI_DR 寄存器(数据寄存器)的读访问将返回接收缓冲值,而对 SPI_DR 寄存器的写访问会将写入的数据存储到发送缓冲区中。

    四、初始化配置

    1.初始化GPIO口

    2.复用映射SPI接口到GPIO口

    3.使能SPI时钟总线:RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE)

    4.配置初始化的参数:SPI_Init(SPI1,&SPI_Initstructure)

    5.使能SPI外设:SPI_Cmd(SPI1,ENABLE);

    初始化的参数配置

    相关文章

      网友评论

          本文标题:STM32-SPI的理解

          本文链接:https://www.haomeiwen.com/subject/oxtdtqtx.html