【stm入门学习SPI_铁头山羊系列教程】

stm入门学习SPI_铁头山羊教程

  • 1.SPI总线
    • 1.电路结构与通信协议
    • 2.SPI的特点:
      • 3. 极性 相位
      • 4. 4中时钟模式
      • 5. 比特位的传输模式
      • 6.数据宽度
  • 2. SPI引脚IO引脚初始化

1.SPI总线

1.电路结构与通信协议

主机向从机NSS引脚发送低电压,选中该从机。 主机通过向MOSI发送多少个比特,从机也会从MOSO发送对应的比特。

2.SPI的特点:

  1. 四线连接
    SPI通常有四根信号线:
    MOSI(Master Out Slave In):主设备输出,连接从设备输入,用于主设备发送数据给从设备。
    MISO(Master In Slave Out):主设备输入,连接从设备输出,用于从设备发送数据给主设备。
    SCK(Serial Clock):串行时钟,由主设备产生,用于同步数据传输。
    SS/CS(Slave Select/Chip Select):从设备选择信号,用于选择特定从设备进行通信。

  2. 主从结构
    SPI采用主从架构,通常由一个主设备(Master)控制多个从设备(Slave)。主设备负责生成时钟信号,并控制数据传输的时序。

  3. 同步通信
    SPI是同步通信协议,数据的传输依赖于时钟信号。主设备通过控制时钟脉冲来指定数据的发送和接收时刻,使得数据传输精确、快速。

  4. 全双工通信
    SPI支持全双工通信,即可以同时发送和接收数据。MOSI和MISO两条数据线允许主从设备在每个时钟周期都可以传输数据。

  5. 多从设备选择
    通常有多种方式管理多从设备:
    独立SS线:为每个从设备独立分配一根SS线,当主设备通信时拉低相应的SS线。
    菊花链模式:一些设备支持SPI的菊花链模式,即将数据依次传递给下一个从设备,但这较少用。

3. 极性 相位

极性:在SPI通信中,极性代表时钟信号空闲时的电平高低。0代表极性低,1代笔极性高

4. 4中时钟模式

极性: 时钟空闲时的电压。为0为低电压,1为高电压 。 相位:上升沿采集为0,下降沿采集为1。 各自组合:总共四种。

5. 比特位的传输模式

在这里插入图片描述

6.数据宽度

在这里插入图片描述

2. SPI引脚IO引脚初始化

W25Q64 FLASH闪存的连接图
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/19317.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

RK3568平台开发系列讲解(platform虚拟总线驱动篇)实验:点亮一个LED

🚀返回专栏总目录 文章目录 一、设备树二、平台驱动三、应用沉淀、分享、成长,让自己和他人都能有所收获!😄 📢xxx 程序编写的主要内容为添加 LED 灯的设备树节点、在驱动程序中使用 of 函数获取设备节点中的属性,编写测试应用程序。 • 首先向设备树添加 LED 设备节点…

Spring Boot 与腾讯云 MySQL 监听 Binlog 数据变化,并使用 UI 展示页面效果

引言 在现代的分布式系统和微服务架构中,数据同步和变更监控是保证系统一致性和实时性的核心问题之一。MySQL 数据库的 binlog(二进制日志)功能能够记录所有对数据库的修改操作,如插入(INSERT)、更新&…

菜鸟驿站二维码/一维码 取件识别功能

特别注意需要引入 库文 ZXing 可跳转: 记录【WinForm】C#学习使用ZXing.Net生成条码过程_c# zxing-CSDN博客 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static System.Net.…

PlantUML——时序图

PlantUML时序图 背景 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图,用于描述对象之间发送消息的时间顺序,显示多个对象之间的动态协作。时序图的使用场景非常广泛,几乎各行各…

算法——链表相交(leetcode23)

链表相交这题就是找出两个相交链表相交的节点并返回 如上图假设上方第一个节点是链表A的头结点下方第一个节点是链表B的头结点 解法有以下两种 方法一(移动长链表指针后同步移动两个链表的指针直至相等) 也就是先遍历链表A和链表B的长度接着得到链表A和B长度的差值然后领长链…

STM32单片机锁死

自己画了一块stm32f407板子,外部晶振用了25MHz,烧写了8MHz的程序,第一次烧写成功,第二次开始识别不到芯片,第一次烧写成功由于外部晶振为25Hz,芯片内频率计算器却是按照8MHz写的,所以得出最后的…

Windows文件资源管理器增强工具

引言: 资源管理器在我们使用电脑时是经常用到的,各种文件资源等的分类整理都离不开它。但是Windows Explorer确实不好用,不智能,不符合人体工程学。特别是在一些场合,在打开的一堆文件夹里,想从中找到自己要…

聚类中3个解空间的描述

深度学习中做分类任务时,我们常常根据最后的全连接层得到一组向量A(比如:[0.9, 0.7, 0.2]),这组向量经过归一化得到向量B(比如:[0.5, 0.3, 0.2]),再根据B向量采用概率最大…

Empirical analysis of hardware-assisted GPU virtualization

​ 年份:2019 作者:Anshuj Garg 会议:ESCI 出版商:IEEE 摘要 本篇文章对vGPU虚拟化的性能开销、调度算法的影响、同构与异构工作负载的干扰效应,以及PCI直通与vGPU的性能差异进行了研究。结果表明,vGP…

Java面试题2024-Java基础

Java基础 1、 Java语言有哪些特点 1、简单易学、有丰富的类库 2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) 3、与平台无关性(JVM是Java跨平台使用的根本) 4、可靠安全 5、支持多线程 2、…

【案例分享】运用 Infragistics Ultimate UI 让工业物联网 IIoT 数据流更易于访问

客户概况 贝克休斯旗下的 Bently Nevada 是状态监测和资产保护领域的全球领导者。该公司拥有 60 多年的专业知识,在全球安装了超过 600 万个传感器和 100,000 个机架监测系统。 如今,Bently Nevada的开发团队正在使用现代 UI 工具包来增强他们的系统&a…

PHM技术:基于支持向量机的智能故障诊断 | 行星齿轮箱智能故障诊断

目录 1.数据获取 2.特征提取与选择 3.健康状态识别 1.数据获取 用的行星齿轮箱数据采集自图1中的多级齿轮传动系统实验台中,在实验过程中,分别模拟了8种行星齿轮箱的健康状态,包括正常、第一级太阳轮点蚀、第一级太阳轮齿根裂纹、第一级…

推荐一款Windows系统精简工具:NTLite

NTLite是一款可以对Windows系统优化的安装工具,使用这款完全中文的NTLite授权注册版让你不会因为注册或者语言导致无法正常的使用,如果你正需要马上下载使用吧。 NTLite基本简介 NTLite 中文版可以用来做什么,它其实是一款 Windows 系统精简…

ESP-IDF VScode 项目构建/增加组件 新手友好!!!

项目构建 1.新建文件夹,同时在该文件夹内新建.c和.h文件 如图所示,在components中新建ADC_User.c、ADC_User.h、CMakeLists.txt文件。当然这里你也可以不在components文件夹内新建文件,下面会说没有在components文件夹内新建文件构建项目的方…

Node Exporter 可观测性最佳实践

Node Exporter 介绍 Node Exporter 是一个开源的 Prometheus 指标收集器,它提供了大量关于宿主机系统的关键指标,如 CPU、内存、磁盘和网络使用情况。在 Kubernetes 环境中,Node Exporter 对于监控集群节点的健康状况至关重要。本文将介绍如…

Spring Boot汽车资讯:科技与速度的交响

3系统分析 3.1可行性分析 通过对本汽车资讯网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本汽车资讯网站采用SSM框架,JAVA作为开发语言&#…

外卖跑腿小程序源码如何满足多样需求?

外卖跑腿平台已经成了当代年轻人的便捷之选,校园中也不例外,那么外卖、跑腿小程序就需要满足用户多样化的需求,而这背后的源码扮演者最重要的角色。 用户类型的多样性 1.对上班族而言,他们希望外卖小程序能够快速下单、准确配送…

GeeRPC第一天 服务端与消息编码(1)

RPC 1. 系统架构图解释(Graph) 架构层次 RPC框架核心功能:这是系统的最上层,涵盖了框架的主要功能模块,直接与底层服务和用户交互。 服务层:主要负责服务的注册、发现和治理。 服务注册:将服务…

如何在谷歌浏览器中开启离线模式

在数字化时代,互联网已经成为我们生活中不可或缺的一部分。然而,有时候我们可能会遇到没有网络连接的情况,这时谷歌浏览器的离线模式就显得尤为重要。本教程将详细介绍如何在谷歌浏览器中轻松开启离线模式,并附带一些相关教程指南…

【进阶系列】正则表达式 #匹配

正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re模块使 Python 语言拥有全部的正则表达式功能。 一个正则表达式的匹配工具:regex101: build, test, and debug regex s "C:\\a\\b\\c" pri…