一、Cube设置

第一章Cube设置
相比第一章的新增加的设置
1.Pinout&Configuration—>Connectivity—>USART1 : Mode—>Asynchronous(异步通信)
PB6—>USART1_Tx
PB7—>USART1_Rx
2.Pinout&Configuration—>Connectivity—>SPI: Mode—>Full-Duplex Master(全双工主机)
PA5—>SPI_SCLK (时钟)
PA6—>SPI_MISO
PA7—>SPI_MOSI
3.Pinout&Configuration—>System Core—>GPIO : PA4—>_Output(user label改为SPI_CS 片选)
4.Pinout&Configuration—>Connectivity—>SPI—>Parameter Settings—>Clock Parameters—>Prescaler(for Baud Rate):64(参数设置—> 时钟参数—>预分频器(波特率)) 这里也可以选择SPI的模式(CPHA、CPOL)

二、概述

SPI(Serial Peripheral Interface串行外设接口)是一种全双工的高速通讯总线,可支持同时输入输出。
4线SPI器件有四个信号

  • 时钟(SPI CLOCK SCLK)
  • 片选(CS/NSS)
  • 主出从入(MOSI)
  • 主入从出(MISO)

四种模式
spi四种模式SPI的相位(CPHA)和极性(CPOL)分别可以为0或1
对应的4种组合构成了SPI的4种模式(mode)
Mode 0 CPOL=0, CPHA=0
Mode 1 CPOL=0, CPHA=1
Mode 2 CPOL=1, CPHA=0
Mode 3 CPOL=1, CPHA=1
时钟极性CPOL: 即SPI空闲时,时钟信号SCLK的电平(1:空闲时高电平; 0:空闲时低电平)
时钟相位CPHA: 即SPI在SCLK第几个边沿开始采样(0:第一个边沿开始; 1:第二个边沿开始)
mode 0 和mode 3,这两种模式的相同的地方是都在时钟上升沿采样传输数据
区别这两种方式的简单方法就是看空闲时,时钟的电平状态,低电平为mode 0 ,高电平为mode 3

三、代码

链接:https://pan.baidu.com/s/1oTY0MT1wzz6NEWuJNAe2Mw
提取码:v90c

自收发spi通信
加一个spi2mode选 Full-Duplex Slave
spi1与spi2的sck连接
MOSI也连接一起

 *这里还需要加一个USART串口为了在串口终端打印数据*

自收发程序
链接:https://pan.baidu.com/s/1Si5n-rnYlqhHMaHPP5bX_g
提取码:qot9

STM32F107RCTx SPI通信相关推荐

  1. STM32 SPI通信(读写flash)

    SPI通信 四线制 MISO:主设备数据输入,从设备数据输出 MOSI:主设备数据输出,从设备数据输入 SCLK:时钟信号 CS:片选引脚(低电平有效) 时序图 读写程序 flash读写函数: u8 ...

  2. android spi串口调试,PIC入门3,SPI通信和串口调试实验

    原标题:PIC入门3,SPI通信和串口调试实验 MSSP模块工作于SPI主控方式,这个可以直接在实验板上执行. 程序: //适合3EPIC实验板,配置PIC的MSSP模块工作于SPI主控方式下, // ...

  3. TLE5012B ESP32驱动程序、硬件电路设计、4线SPI通信,驱动完美兼容4线SPI不用改MOSI开漏推挽输出

    一.TLE5012B 简介 TLE5012B 是一种款高分辨率旋转位置传感器,用于在整个 360 度范围内进行角度测量. 它通过使用单片集成 巨磁阻 (iGMR) 元件,来测量正弦和余弦角分量,这些原 ...

  4. AS5047P磁编码器ESP32驱动程序、硬件电路设计、SPI通信时序、逻辑波形分析、注意事项

    1.AS5047P硬件设计 1.1 简介.性能参数 AS5047P 是一种款高分辨率旋转位置传感器,用于在整个 360 度范围内进行高速(高达 28krpm)角度测量.这种新型位置传感器配备了革命性的 ...

  5. SPI通信实验---verilog(FPGA作为从机,使用可读可写)

    文章原地址: http://www.cnblogs.com/fhyfhy/p/4429302.html SPI通信实验---verilog(FPGA作为从机,使用可读可写) 本实验讲究实用性,故设计思 ...

  6. stm32f405rgt6与as5048a的SPI通信问题

    与as5048a的SPI通信问题 本人最近在学习无刷直流电机的FOC,其中用了一个带有磁编码器as5048a作为角度反馈的电机,其中pwm接口输出是正常的,但是在SPI通信的时候出现了问题.研究了几天 ...

  7. ADI官方解释在SPI通信期间,数据的发送(串行移出到MOSI/SDO总线上)和接收(采样或读入总线(MISO/SDI)上的数据)

    串行外设接口(SPI)是微控制器和外围IC(如传感器.ADC.DAC.移位寄存器.SRAM等)之间使用最广泛的接口之一.本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以 ...

  8. CC3200 与 CC2530的SPI通信

    目的:实现CC2530作为master,CC3200作为slave的SPI 通信 连接图如下 /*--------------------------– Master Slave ----- ---- ...

  9. 通信协议整理之 SPI 通信

    通信协议整理之 SPI 通信 文章目录 通信协议整理之 SPI 通信 简介 工作原理 通信连接方式 补充 硬件 SPI 和模拟 SPI 简介 SPI是串行外设接口(Serial Peripheral ...

最新文章

  1. Cell重磅:记忆研究的突破进展!在诺奖成果基础上,用“全光学”组合来“操纵记忆”...
  2. ReSharper“无法解析符号”,即使在项目构建时
  3. (转)Response.Redirect 打开新窗口的两种方法
  4. 停课集训 11.29
  5. 50个比特怎么生成10个码元_你们最关心的42个计算机网络基础问答
  6. Anroid-async-http封装网络请求框架源码分析
  7. java+long是什么_Java中long的模运算符是什么? - java
  8. 计算机在制造业中的应用,计算机技术在机械制造中的应用
  9. [POJ3096]Surprising Strings
  10. 二十五、JAVA多线程(四、生产者和消费者问题)
  11. linux 调度总结
  12. Java基础知识总结(2021版)
  13. 公安大数据智能化平台(大数据人工智能公司)
  14. 记录一次 Deadlock found when trying to get lock; try restarting transaction 错误
  15. 统计学 假设检验 总体均值的检验
  16. Python实现对中文文本分句
  17. 解决adb shell root权限
  18. 数据结构笔记(持续更新)
  19. 如何提交项目到git
  20. 检索所学课程包含学生S3所学课程的学生学号

热门文章

  1. Linux下载工具photon,Photon v0.3.1 免费开源下载软件,替代迅雷的下载利器
  2. 百亿私募,白鹭资管 | 2023届校园招聘火热进行中!
  3. 关于海康威视摄像头web程序的无插件调用
  4. 《MySQL 8.0 参考手册》第 14 章 MySQL 数据字典
  5. 射频连接器的无源互调特性和寿命
  6. 系统架构专题(1):大型互联网系统架构演变
  7. 【linux】curl安装
  8. Allegro Design Entry CIS 和 Orcad Capture CIS 关系
  9. 51单片机的智能饮水机控制系统【proteus仿真+程序+原理图】
  10. 园林景观cad_如何不花一分钱自学CAD?这几个网站收好!海量免费教程看不完