快速理解SPI通信协议(超简单)

SPI通信协议

  • 一、SPI协议介绍
  • 二、发送数据
  • 三、读数据
  • 注意

一、SPI协议介绍

SPI是一种全双工串行通信协议
他有四条线

SCLK(Serial Clock):时钟线

MOSI(Master Output, Slave Input):关键字母"O"Output,发送数据

MISO(Master Input, Slave Output):关键字母"I"Input,接受从机数据

SS(Slave Select):选择和谁通信

一主多从模式

  • SCLK(Serial Clock):这是SPI总线上的时钟信号线,用于同步数据传输。主设备通过控制SCLK线的时钟脉冲来驱动数据的传输。

在这里插入图片描述

  • SS(Slave Select):这是从设备的片选信号线,用于选择与主设备进行通信的特定从设备。主设备通过控制SS线的状态来选择要与之通信的从设备。
    在这里插入图片描述
  • MOSI(Master Output, Slave Input):这是主设备的输出信号线和从设备的输入信号线。主设备通过MOSI线将数据发送给从设备。

在这里插入图片描述

  • MISO(Master Input, Slave Output):这是主设备的输入信号线和从设备的输出信号线。从设备通过MISO线将数据发送给主设备。
    在这里插入图片描述

二、发送数据

0x01地址发送数据00001111
在这里插入图片描述

MOSI发送起始位操作码地址以及数据
从属设备在时钟上升沿采集数据
一共有四种采样模式分别是:空闲电平为高/低,同时采样沿变为上升/下降沿(具体用哪种需要查阅芯片数据手册)
在这里插入图片描述
在这里插入图片描述

三、读数据

同样要发送起始位,操作码,地址,还要提供时钟信号

读数据通过
MOSI发送起始位操作码地址
MISO就可以在相应的时序接收到数据
在这里插入图片描述

注意

  • 一次读写多少位数据没有标准,主要根据数据手册
  • 四种采样模式的选择也要根据数据手册决定

https://www.bilibili.com/video/BV1F54y1M7e7/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Highcharts 实现3D饼图 tooltip轮播

实现3D饼图,并且轮播显示tooltip 自定义toottip样式 import Highcharts from highcharts; import highcharts from highcharts; import highcharts3d from highcharts/highcharts-3d;highcharts3d(Highcharts); highcharts3d(highcharts); import { useEffect, use…

Docker安装达梦数据库

1.确保已安装Docker 可参考:Linux安装Docker-CSDN博客 2.上传dm镜像并导入安装包 可以从:产品下载 | 达梦数据库下载dm镜像,如下图: docker load -i dm8_20230808.tar 3.导入后查看镜像 docker images 4.启动容器 docker run …

工业数据采集软件 高效的数字化信息管理系统

近年来,随着产线自动化程度的提升,越来越多的工业设备被运用到自动化生产中,产线中各位置所产生的数据也越来越多,每个设备又都是独立的,如何将其整合,进行系统化查看处理,就是工业数据采集软件…

数据结构05:树与二叉树 习题01[C++]

考研笔记整理,本篇作为树与二叉树的基本概念习题,供小伙伴们参考~🥝🥝 之前的博文链接在此:数据结构05:树与二叉树[C]-CSDN博客~🥝🥝 第1版:王道书的课后习题~&#x1…

有什么方便实用的黏土特效教程?6个软件教你快速进行特效制作

有什么方便实用的黏土特效教程?6个软件教你快速进行特效制作 作为时尚小达人,你自己是否想要制作出属于自己的黏土特效照片呢?比如下面几种。 看到这些黏土特效软件有没有心动,下面我也为大家详细的介绍一下可以制作出对应特效的…

金石传拓非遗研学基地 入驻蔚蓝书店

好消息!!! 金石传拓非遗研学基地,正式入驻蔚蓝书店啦!!! “缣竹易销,金石难灭,托以高山,永留不绝。”“金”指的是三代青铜器上的铭文。 “石”指的是石刻、…

视频号小店应该如何开店呢?详细的开店流程分享给你!

大家好,我是电商小V 视频号小店就是威信视频号团队为咱们商家提供的卖货平台,可以说是支持咱们商家在视频号场景中开店进行经营的模式, 视频号大概的开店流程那就是:找到视频号开店,选择企业入驻,填写信息&…

win7安装camera raw13.0.2详解。

首先win7是不能直接安装camera raw13.0.2的。所以我安装的是camera raw12版本。 然后就是重点了,打开文件C:\Program Files\Common Files\Adobe\Plug-Ins\CC\File Formats, 复制下载的camera raw13.0.2的8bi文件。 替换 这样就能在window7中使用了。网…

LinkedList链表

LinkedList 的全面说明 LinkList底层实现了双向链表和双端队列特点可以添加任意元素(元素可以重复),包括null线程不安全,没有实现同步 LinkedList 的底层操作机制 LinkedList底层维护了一个双向链表LinkList中维护了两个属性fi…

学习javascript,实现一个简易售卖机的功能

有同学提问,说想实现一个JS售卖机的功能,我觉得这个挺有意思的,正是初学者学习JS,锻炼软件开发思维的一个好题目,所以就实现了一下,希望可以有帮助。 目录 1 需求分析 2 开发实现 2.1 商家端录入 2.2…

Linux中的fork与进程地址空间

目录 前言 一、进程地址空间 二、fork的值返回 三、高清图链接 总结 前言 在博主的《进程状态解析》一文中,在讨论进程创建时,提到了一个系统调用接口fork,它在使用过程中表现出对于父子进程不一致的返回结果,而且似乎还具有…

深入学习指针2

前言 hello,我又来了,今天有我继续带领大家深入的学习指针,通过上次的学习,我们已经了解到了指针的基本概念,指针如何使用,指针使用的益处,以及一些相关的概念,那今天我们就继续深入的学习&am…

Docker笔记(七)使用Docker部署Spring Boot项目

本文介绍如何使用Docker打包并部署Spring Boot多模块项目。 其中本文涉及的Docker的私库是用Nexus3搭建的。 使用Docker部署Spring Boot项目有三种方式 (1)使用 spring-boot-maven-plugin内置的build-image. (2)使用 Google 的 j…

STM32CubeMX软件使用(超详细)

1、Cube启动页介绍 2、芯片选择页面介绍 3、输入自己的芯片型号,这里以STM32U575RIT6举例 4、芯片配置页码介绍 5、芯片外设配置栏详细说明 6、点击ClockConfiguration进行时钟树的配置,选择时钟树后可以选择自己想使用的时钟源,也可以直接输…

MySQL数据库——基础事务操作-BEGIN-COMMIT-ROLLBACK

DDL CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT COMMENT 学号,createDate datetime DEFAULT NULL,userName varchar(20) DEFAULT NULL,pwd varchar(36) DEFAULT NULL,phone varchar(11) DEFAULT NULL,age tinyint(3) unsigned DEFAULT NULL,sex char(2) DEFAU…

MySQL企业级开发重点之事物和索引

事物 -- 解散学工部 delete from tb_dept where id 1;-- 删除部门下的员工 delete from tb_emp where dept_id 1; 介绍和操作 我们应该将两个语句写成一个语句 -- 开启事物 start transaction ;-- 解散学工部 delete from tb_dept where id 3;-- 删除部门下的员工 delete fr…

Word页脚设置“第X页共X页”的方法【域实现】

Word页脚设置“第X页共X页”的方法【域实现】 在设置Word页码格式的要求中,有时需要设置为“第X页共X页”这种格式,使用Word中的域功能可实现,同时,在某些情况下,可能还需要减去封面的页码,接下来为具体步…

传感器—超声波雷达

声波技术 在讲述超声波雷达之前,先了解一下声波的概念以及超声波和声波之间的关系 什么是声波? 声波是物体机械振动状态(或能量)的传播形式。所谓振动是指物质的质点在其平衡位置附近进行的往返运动形式,这种振动状…

JAVA文件的简单操作

文件IO(Input和Output) 文件的输入和输出是人为规定的,那么什么是输入?什么是输出捏?在这里统一已CPU为基准 例如:将文件由内存写入硬盘就是输出,有硬盘写入内存就是输入。可以总结为&#xff…

C语言—深入理解指针(3)

1.字符指针变量 一般使用: 另一种使用方法: “hello world”是一个常量字符串,不能被修改。 上述代码是将字符串中的首字符‘h’赋值给指针pstr,用%s打印字符串的时候,只需要提供首字符的地址就行。(如果…