STM32-SPI的理解

 我来答
一袭可爱风1718
2022-07-05 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6126
采纳率:99%
帮助的人:33万
展开全部
STM32在芯片内部已经集成了SPI接口,用户只需配置SPI并复用映射到相应的IO口就行。

      1.全双工同步通信       

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

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

      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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式