STM32单片机SPI主从通信解析

发布时间:2024-04-02  

今天讲解“STM32F103 SPI主从通信”,原本计划将这部分内容定在后面(第二阶段)来讲解,满足一位网友的问题“关于两块MCU的SPI通讯”,所以今天特地提前讲解了。


今天提供并讲解的软件工程,基于昨天的软件工程“SPI读写Flash”修改而来。


测试原理及现象:主机间隔500ms发送10个字符(0-9),从机开启SPI中断接收数据,接收满10字节数据,置标志位gSPI_FlagOver有效,并变化LED,通过串口打印接收到的数据。

关于“STM32F103SPI通信从机部分”我把重要的几点在下面分别讲述,若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。

一、RCC时钟配置

STM32单片机SPI主从通信解析

该函数位于在bsp.c文件下面;

使能RCC时钟:RCC_APB2Periph_SPI1

二、引脚配置

STM32单片机SPI主从通信解析

该函数位于在spi.c文件下面;

这里是对SPI所使用引脚进行配置。

注意:

SPI作为从机,MOSI作为从机接收而不是MISO,“今天的重点”我还会强调这点。

三、SPI配置

STM32单片机SPI主从通信解析

该函数位于在spi.c文件下面;

对SPI进行配置。

配置的每一条语句都有注释,请看源代码。

强调一点:SPI_CPOL_Low时钟空闲为低,这个引脚容易受干扰导致通信故障。

四、SPI中断控制器配置

STM32单片机SPI主从通信解析

该函数位于在bsp.c文件下面;

因为开启了中断接收数据,这里必须配置中断控制器。

五、SPI中断处理

STM32单片机SPI主从通信解析

该函数位于在stm32f10x_it.c文件下面;

文章开始就说明了:接收满10字节数据,置标志位gSPI_FlagOver有效。该函数就是这个意思。

六、主函数应用

该函数位于在main.c文件下面;

这就是文章开头“测试原理及现象”的描述,就不多说了。

六、今天的重点提示

A.主从连接方式:

这里对于开始学习的朋友来说,有点不理解(因为基本上都知道串口的通信,主机Tx对应从机Rx),还以为“主机的MOSI”连接的是“从机的MISO”,其实这里是和串口的区别之一(当然还有其他,这里不讲解)。具体请看参考手册。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    它是有时钟的协议。 I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少......
    它是有时钟的协议. I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。 UART一帧可以传5/6/7/8位,I2C必须是8位。I2CSPI都从最高位开始传。 SPI用片选信号选择从机,I2C......
    慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。 ④UART一帧可以传5/6/7/8位,I2C必须是8位。I2CSPI都从最高位开始传。 ⑤SPI用片选信号选择从机,I2C用地......
    单片机具有丰富的通信接口,可以实现与其他设备的数据交换。如通过UART实现串口通信,通过SPII2C实现总线通信。 数据处理功能:STM32单片机具有强大的数据处理能力,可以实现数据的采集、处理......
    的三种串口通信协议   1、USART   通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。   USART支持同步单向通信和半双工单线通信......
    STM32单片机/485通信详解;在了解485通信之前,需要先了解几个概念,以免一会儿晕头转向。我们在 【通信专栏】一:STM32串口通信(usart) 这篇文章中介绍了一点关于通信......
    I2C接口或SPI接口,用于连接和控制各种外部设备和传感器。 USB到串口转换方案USB转UART芯片使用了专门设计的USB转UART芯片,如FTDI的FT232RL、Silicon Labs的......
    时曲线保存为图片;将实时曲线的数据保存为TXT文档以及实时温度超过报警值时报警。 本系统上位机串口通讯控件采用SPCOMM,该控件具有丰富的与串口通信密切相关的属性及事件,支持多线程;提供了对串口的各种操作。图形......
    实时曲线;将实时曲线保存为图片;将实时曲线的数据保存为 TXT 文档以及实时温度超过报警值时报警。本系统上位机串口通讯控件采用 SPCOMM,该控件具有丰富的与串口通信密切相关的属性及事件,支持......
    时曲线保存为图片;将实时曲线的数据保存为TXT文档以及实时温度超过报警值时报警。 本系统上位机串口通讯控件采用SPCOMM,该控件具有丰富的与串口通信密切相关的属性及事件,支持多线程;提供了对串口......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>