STM32 基础系列教程 15 - SPI

 

前言

学习stm32 SPI通信接口使用,学会用SPI接口收发数据。

 

示例详解

基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。

 

STM32 基础系列教程 15 - SPI

 

本示例所用的最小系统板原理图:

STM32 基础系列教程 15 - SPI

 

    1. 从本节开始,关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:

 

 

      1. 系统时钟树

STM32 基础系列教程 15 - SPI

      1. SPI器配置

STM32 基础系列教程 15 - SPI

      1. 引脚配置

STM32 基础系列教程 15 - SPI

STM32 基础系列教程 15 - SPI

 

      1. 中断配置(保持默认即可)

 

    1. 工程代码
      1. 在main.c 中加入如下图所示代码:

STM32 基础系列教程 15 - SPI

 

 

 

 

    1. 到此,我们就通过STM32的SPI接实发送了 1,2,3,4,5,6,7,8 几个数据 ,实现了SPI数据的发送,SPI数据的收也是一样,只需将HAL_SPI_Transmit 变成 HAL_SPI_Receive 后,引脚一样可以看到数据波形!(注意上面我们配置的SPI时钟是18M,如果查看波形不方便可以先将通信波特率设低一点如将分频系数设成SPI_BAUDRATEPRESCALER_256 )

发送波形:

STM32 基础系列教程 15 - SPI

接收波形(第一次发的是1,2,3,4,5,6,7,8,后面发的是上一次收到的数据0xff,…):

STM32 基础系列教程 15 - SPI

 

OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

 

文中资料下载,在公众号里给十三发消息:

下载|STM32基础系列教程15

STM32 基础系列教程 15 - SPI

 

关注十三公众号

STM32 基础系列教程 15 - SPI