前言

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

示例详解

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

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

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

  1. SPI器配置

  1. 引脚配置

  1. 中断配置(保持默认即可)
  1. 工程代码

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

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

发送波形:

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

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

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

下载|STM32基础系列教程15

关注十三公众号

STM32 基础系列教程 15 - SPI相关推荐

  1. STM32 基础系列教程 41 – SDMMC

    前言 SDIO(Secure Digital Input and Output) 安全数字输入输出接口,它支持多种类型的MMC卡,如SD卡,SDIO卡,MMC卡等.STM32 的SD/SDIO MMC ...

  2. STM32 基础系列教程 16 - I2S(模拟)

    前言 学习stm32 I2S接口使用,学会用I2S接口收发数据,学习I2S总线相关知识, I2S(Inter-IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频 ...

  3. STM32 基础系列教程 50 – MbedTls

    前言 mbed TLS(以前称为PolarSSL)是TLS和SSL协议的实现,并且需要相应的加密算法和支持代码.这是双重许可与Apache许可证 2.0版(与GPLv2许可也可).网站上指出,mbed ...

  4. STM32 基础系列教程 49 – Jansson

    前言 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全 ...

  5. STM32 基础系列教程 48 – CJSON

    前言 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全 ...

  6. STM32 基础系列教程 47 - MD5

    前言 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信 ...

  7. STM32 基础系列教程 46 – RNG

    前言 随机数发生器(RNG)是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个 32 位的随机数.STM32F407自带RNG ,本节将给大演示STM32F4系列MCU中的RNG的使用.用 ...

  8. STM32 基础系列教程 45 - FSMC_LCD_Touch

    前言 上一节我们完成了用 STM32F4的 FSMC接口来控制 TFTLCD的显示的操作,其实正点原子的探索者F4开发板带的屏幕支持触摸操作,笔者用的是4.3寸的电容触摸屏,本节我们继续实验,来完成基 ...

  9. STM32 基础系列教程 44 - FSMC_LCD

    前言 TFT-LCD 即薄膜晶体管液晶显示器.其英文全称为: Thin Film Transistor-Liquid Crystal Display. TFT-LCD 与无源 TN-LCD. STN- ...

最新文章

  1. CSS中列表样式的简介
  2. 软工实践第四次作业——团队展示
  3. SQLite 安装(http://www.w3cschool.cc/sqlite/sqlite-installation.html)
  4. Mini 容器学习笔记4——组件的生命周期(应用篇)
  5. 《R语言数据挖掘》----1.15 结果可视化
  6. 开箱即用Bumblebee独立部署搭建webapi网关详解
  7. 冠榕智能灯光控制协议分析(controller init)
  8. LintCode-244.删除字符
  9. 使用GDAL进行RPC坐标转换
  10. python从入门到精通需要多久--零基础学Python,从入门到精通需要多长时间
  11. struts2异常处理流程_Struts2异常处理示例教程
  12. 【BZOJ-2888】资源运输 LCT + 启发式合并
  13. 软件测试电脑内存适配,利用Memtest86 测试你电脑的内存
  14. 寻宝,大冒险!CSP202206-2
  15. 快速找回Edge浏览器书签的方法
  16. nodejs解压缩zip文件:adm-zip
  17. 用微信公众号做淘宝优惠券查券和返利机器人的详细配置教程
  18. 小虎电商浏览器:拼多多怎么看单品实时数据
  19. 开放式蓝牙耳机排行,列举几款值得推荐的开放式蓝牙耳机
  20. 901.freeswitch常用命令

热门文章

  1. 移动端picker插件
  2. darwin转发时,摄像机在3G和4G模式下的参数设置
  3. XMPP iOS客户端实现三:登录、注册
  4. 【转】安全测试自学路线图
  5. Collection View Programming Guide for iOS---(四)---Using the Flow Layout
  6. UA OPTI570 量子力学32 参考系与绘景
  7. UA OPTI512R 傅立叶光学导论7 线性平移不变系统简介
  8. UA PHYS515A 电磁理论V 电磁波与辐射6 波导
  9. Mathematica 画图操作中的一些小惊喜
  10. java实现计算机图形学中点画线算法