关于UART、SPI、I2C、can通信方式的工作原理及使用方法

1. UART(Universal Asynchronous Receiver/Transmitter)

工作原理:
  • 异步通信:UART不需要时钟信号来同步发送和接收数据,而是使用起始位、数据位、奇偶校验位和停止位来同步数据传输。
  • 数据帧结构:典型的数据帧包括一个起始位(低电平)、5-9个数据位、一个可选的奇偶校验位和一个或多个停止位(高电平)。
  • 全双工通信:可以同时发送和接收数据。
时序图:
| Start | Data Bits | Parity | Stop |
|-------|-----------|--------|------|
|   0   |  1100101  |   1    |  1   |
使用方法:
  • 配置波特率:发送和接收双方需要配置相同的波特率(例如9600, 115200等)。
  • 数据帧格式:确保双方使用相同的数据帧格式(数据位数、奇偶校验和停止位数)。
  • 连接:将发送端的TX连接到接收端的RX,接收端的TX连接到发送端的RX,并确保共地。

2. SPI(Serial Peripheral Interface)

工作原理:
  • 同步通信:SPI使用主从架构和时钟信号进行同步数据传输。
  • 四线制:包含MOSI(主输出从输入)、MISO(主输入从输出)、SCLK(时钟)和SS(从选择)。
  • 全双工通信:可以同时发送和接收数据。
时序图:
| SCLK | --^--^--^--^--^--^--^--^-- |
| MOSI | 1  0  1  0  1  1  0  0     |
| MISO | 0  1  0  1  0  0  1  1     |
使用方法:
  • 配置时钟极性和相位:主设备和从设备需要配置相同的时钟极性(CPOL)和相位(CPHA)。
  • 选择从设备:通过拉低相应的SS引脚选择具体的从设备。
  • 数据传输:主设备通过MOSI发送数据,同时从MISO接收数据。

3. I2C(Inter-Integrated Circuit)

工作原理:
  • 同步通信:I2C使用主从架构和时钟信号进行同步数据传输。
  • 双线制:包含SDA(数据线)和SCL(时钟线)。
  • 地址识别:每个从设备有唯一的地址,主设备通过地址识别从设备。
  • 半双工通信:发送和接收数据要分开进行。
时序图:
| SCL | --^--^--^--^--^--^--^--^-- |
| SDA | --|--|--|--|--|--|--|--|-- |
| Addr| 1  0  1  0  0  1  1  0     |
| Data| 1  1  0  0  1  0  1  1     |
使用方法:
  • 配置地址:确保每个从设备有唯一的地址。
  • 启动和停止条件:使用起始条件(SDA从高到低,SCL高)和停止条件(SDA从低到高,SCL高)来控制数据传输。
  • 数据传输:主设备发送从设备地址,确认后开始数据传输。

4. CAN(Controller Area Network)

工作原理:
  • 多主通信:CAN允许多个设备同时发送和接收数据。
  • 差分信号:使用CAN_H和CAN_L进行差分信号传输,提高抗干扰能力。
  • 消息优先级:通过消息ID确定优先级,ID越小优先级越高。
  • 半双工通信:发送和接收数据要分开进行。
时序图:
| CAN_H | --^--^--^--^--^--^--^--^-- |
| CAN_L | --v--v--v--v--v--v--v--v-- |
| Data  | 1  0  1  0  1  1

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

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

相关文章

PageHelper分页查询遇到的小问题

如果我们是这样子直接查询 pagehelper会拼接导我们的sql语句之后 这样子我们搜索出来的list&#xff0c;就是里面参杂了PageHelper的东西 所以我们可以直接转成我们的Page类型 但是如果我们搜索出来的是List<Blog>&#xff0c;我有些信息不想返回给前端&#xff0c;所以…

仿写Spring IOC

文章目录 IOC思路手写代码思路一些杂七杂八&#xff08;可跳过&#xff09; IOC思路 手写代码思路 手写代码的思路: 自定义一个MyAnnotationConfigApplicationContext&#xff0c;构造器中传入要扫描的包。获取这个包下的所有类。遍历这些类&#xff0c;找出添加了Component注…

【2024_CUMCM】T检验、F检验、卡方检验

T检验 T检验主要用于比较两组数据的均值差异&#xff0c;适用于小样本数据分析。它可以分为单样本T检验、独立样本T检验和配对样本T检验。 单样本T检验用于比较一个样本与已知的总体均值差异&#xff0c;独立样本T检验用于比较两个独立样本的均值差异&#xff0c;配对样本T检…

实验2 Aprori关联挖掘算法

目 录 一、实验目的... 1 二、实验环境... 1 三、实验内容... 1 3.1 connect_string()函数解析... 1 3.2 find_rule()函数解析纠错... 2 3.3 关联规则挖掘... 4 四、心得体会... 7 一、实验目的 &#xff08;1&#xff09;理解Aprori关联挖掘算法的程序编写&#xff1b; &…

Android计算器界面的设计——表格布局TableLayout实操

目录 任务目标任务分析任务实施 任务目标 使用TextView、Button等实现一个计算器界面&#xff0c;界面如图1所示。 图1 计算器界面效果图 任务分析 界面整体使用表格布局&#xff0c;第一行使用一个TextView控件&#xff0c;横跨4列&#xff0c;中间4行4列&#xff0c;最后一…

lspci

【原】Linux之PCIE三种空间解析 PCIe学习笔记——2.PCIe配置空间 PCIE学习&#xff08;2&#xff09;PCIE配置空间详解 开发者分享 | 使用 lspci 和 setpci 调试 PCIe 问题 b : 字节 w&#xff1a;word L&#xff1a; 4byte

ASRock Creator系列GPU:为AI推理及多GPU系统打造,采用16针电源接口的Radeon RX 7900系列显卡

ASRock 正在筹备推出专为人工智能推理和多GPU系统设计的AMD GPU——Creator系列显卡。这一系列显卡采用双槽位、吹风式设计&#xff0c;并配备16针电源连接器&#xff0c;首发产品包括基于Navi 31架构的AMD Radeon RX 7900XTX和RX 7900 XT型号。这些原属于WS系列的显卡最初在20…

非同步升压转换器,效率95%你信吗?ETA1611输出电流2A, 22V DCDC

前言&#xff1a; 截止24年7月7日某创报价&#xff1a;500&#xff1a; &#xffe5;0.7856 / 个 建议使用前同时了解下方器件。 2毛钱的SOT23-5封装28V、1.5A、1.2MHz DCDC转换器用于LCD偏置电源和白光LED驱动等MT3540升压芯片 描述 ETA1611 SOT23-6封装 丝印GVYW&#xff0…

【Git基本操作】创建本地仓库 | 配置本地仓库 | 认识工作区、暂存区、版本库、对象库 | add和commit操作

目录 1.创建Git本地仓库 1.1创建仓库 1.2创建和初始化Git本地仓库 1.3查看隐藏目录.git 2.配置本地仓库 2.1新增配置 2.2删除重置配置 2.3查看配置选项 2.4全局范围的新增和删除配置 3.工作区、暂存区、版本库、对象库 ​4.add操作和commit操作 4.1add操作 4.2com…

java项目总结8

1.方法引用 1.方法引用概述 注意注意&#xff1a; 1.引用出必须是函数式接口 2.被引用的方法必须已经存在 3.被引用方法的型参和返回值需要跟抽象方法保持一致 4.被引方法的功能要满足当前需求 Arrays.sort(arr,Main::subtraction); Main是该类的名称&#xff0c;&#xff1a…

学习测试1

计算机基础 1、计算机范式&#xff1a;冯诺依曼机 2、存储单元 bit、byte、KB、MB、GB3、网络 ip、域名、ping 域名、 ipconfig测试工作的流程 ------------------------------------------------------------------------------------------- 一 编写测试大纲 罗列测试…

EDA 2023 年世界国家suicide rate排名

文章目录 前言:关于数据集列 导入模块导入数据数据预处理探索性数据分析按性别划分的自杀率 [箱线图]相关矩阵热图自杀率最高的 15 个国家变化百分比最高的 15 个国家/地区2023 年世界地图上自杀率的国家 结尾: 前言: 随着社会的不断发展和变迁&#xff0c;人们对于各种社会问…

排序格式排序格式

排序格式排序格式

期末成绩老师怎么发?

期末考试的钟声终于敲响&#xff0c;学生们紧张而期待地等待着成绩的揭晓。而作为老师&#xff0c;我们面临的不仅仅是成绩的评判&#xff0c;还有一项看似简单却极其繁琐的任务——将成绩单一一私信给每位学生的家长。在成绩公布的那一刻&#xff0c;我们不仅要确保每一份成绩…

Java编程:解决实际问题的高效方法

&#x1f380;&#x1f380;引言 &#x1f44d;&#x1f44d;点关注编程梦想家&#xff08;大学生版&#xff09;-CSDN博客 不迷路❤❤ Java是一种广泛使用的编程语言&#xff0c;它不仅适用于企业级应用开发&#xff0c;还能高效解决各种实际问题。从数学问题到工程问题&…

WEB自动化框架封装MySQL连接及sql断言教程

为了在Web自动化测试中连接MySQL数据库并进行SQL断言&#xff0c;您可以按照以下步骤&#xff1a; 安装MySQL Connector/Python驱动程序&#xff0c;并导入它。 使用Connector/Python创建一个连接对象&#xff0c;指定所需的主机名、用户名、密码和数据库名。 创建一个游标对…

论文研读|AI生成图像检测发展历程及研究现状

前言&#xff1a;本篇博客系统性梳理AI生成图像检测的研究工作。 「人工智能生成图像检测」研究及发展现状介绍 参考资料 https://fdmas.github.io/AIGCDetect/针对AIGC检测的鲁棒性测试——常见攻击手段汇总论文研读&#xff5c;以真实图像为参考依据的AIGC检测论文研读&…

【TB作品】51单片机 Proteus仿真 基于单片机的LCD12864万年历及温度监测系统设计

实验报告&#xff1a;基于单片机的LCD12864万年历及温度监测系统设计 背景介绍 本实验旨在设计并实现一个基于STC89C52单片机的LCD12864显示的万年历系统&#xff0c;同时集成温度传感器以实现温度监测功能。系统具备整点报时和闹钟功能&#xff0c;通过蜂鸣器进行提示。该设…

【2024_CUMCM】时间序列算法ARMA

目录 2023-c-问题二 问题分析 介绍 单位根检验 白噪声检验 自相关和偏自相关图 利用信息准则定阶 构建AMIMA模型 D-W检验 预测 代码 2023-c-问题二 问题分析 ARMA适合多个领域的时间序列分析&#xff0c;不同时间的定价策略属于这类问题。 介绍 ARMA模型&…

PingCAP 成为全球数据库管理系统市场增速最快的厂商

近日&#xff0c;Gartner 发布的《Market Share Analysis: Database Management Systems, Worldwide, 2023》&#xff08;2024 年 6 月&#xff09;报告显示&#xff1a;“2023 年全球数据库管理系统&#xff08;DBMS&#xff09;市场的增长率为 13.4%&#xff0c;略低于去年的…