嵌入式学习日志————USART串口协议

1.通信接口

  • 通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统

  • 通信协议:制定通信的规则,通信双方按照协议规则进行数据收发

名称引脚双工时钟电平设备
USARTTX(数据发送脚)、RX(数据接收脚)全双工异步单端点对点
I2CSCL(时钟)、SDA(数据)半双工同步单端多设备
SPISCLK(时钟)、MOSI(主机输出数据脚)、MISO(主机输入数据脚)、CS(片选—指定通信对象)全双工同步单端多设备
CANCAN_H、CAN_L(一对差分数据脚)半双工异步差分多设备
USBDP、DM(一对差分数据脚)半双工异步差分点对点

双工:

  • 全双工:指通信双方能够同时进行双向通信(一般有两根通信线)

  • 单工:数据只能从一个设备到另一个设备,而不能反着来

时钟:

  • 同步:具有单独的时钟线,接收方可以在时钟信号的指引下进行采样

  • 异步:没有时钟线,所以需要双方约定一个采样频率,还需要加一些帧头帧尾等,进行采样位置对齐

电平特性:

  • 单端信号:引脚的高低电平都是对GND的电压差,所以单端信号通信的双方必须共地,就是把GND接在一起

  • 差分信号:靠两个差分引脚的电压差来传输信号,在通信的时候,可以不需要GND(注意:USB协议里有一些地方需要单端信号,所以USB还是需要共地)

使用差分信号可以极大的提高抗干扰特性,所以差分信号一般传输速度和距离都非常高

2.串口通信

  • 串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信

  • 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力

USB转串口模块(可以把串口协议转化为USB协议)

陀螺仪传感器模块(可以测量角速度、加速度)

蓝牙串口模块

3.硬件电路

  • 简单双向串口通信有两根通信线(发送端TX和接收端RX)

  • TX与RX要交叉连接

  • 当只需单向的数据传输时,可以只接一根通信线

  • 当电平标准不一致时,需要加电平转换芯片

4.电平标准

电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:

  • TTL电平:+3.3V或+5V表示1,0V表示0(最常见)

  • RS232电平:-3 — -15V表示1,+3 — +15V表示0

  • RS485电平:两线压差+2—+6V表示1,-2 — -6V表示0(差分信号)

5.串口参数及时序

  • 波特率:串口通信的速率

  • 起始位:标志一个数据帧的开始,固定为低电平

  • 数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行

  • 校验位:用于数据验证,根据数据位计算得来

  • 停止位:用于数据帧间隔,固定为高电平

距离开学还有7天!!!加油!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软硬件笔试面试核心题型详细解析

微软硬件笔试面试核心题型详细解析 本专栏预计更新90期左右。当前第42期-笔试面试核心题型详细解析. 本文一共4个章节,核心内容如下。 微软作为全球顶尖的科技公司,其硬件工程师的选拔标准极高。笔试不仅考察扎实的理论基础,更注重解决实际问题的能力、对新技术的理解以…

CMake构建学习笔记21-通用的CMake构建脚本

在之前使用CMake构建程序的脚本(CMake构建学习笔记-目录)中,大部分内容都有比较强的相似性,那么是不是可以这些相似的内容提取出来作为一个单独的脚本,在构建具体的程序的时候再去调用这个脚本呢?这样做的好…

无人机和无人系统的计算机视觉-人工智能无人机

无人机和无人系统的计算机视觉-人工智能无人机将计算机视觉与无人系统相结合,可以提升其自主或半自主执行复杂任务的能力。这些系统将图像数据与其他机载传感器(例如 GNSS/GPS、IMU、LiDAR 和热像仪)融合,以解读周围环境并执行精确…

【开题答辩全过程】以 基于hadoop架构的教学过程监控系统为例,包含答辩的问题和答案

个人简介:一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧…

坎坷基金路

2025年8月27日上午10:59从基金委官网上中外合作入口查到自己的基金中了。心情顿时五味杂陈,回想起写基金忙碌的9个月,各位专家对我的指导,嘴角楠楠的说:感恩。自己觉着比较重要的几个点:1、立意必须基于自己的过往研究…

[n8n]

docs:n8n工作流管理系统 本项目帮助管理和探索n8n工作流。 它能自动扫描和分析工作流文件,提取关键信息如名称、触发器和关联服务。 所有数据将存入可搜索的数据库,并通过REST API提供访问。 可以快速定位特定工作流、查看详细描述&#xff0…

[手写系列]Go手写db — — 第二版

[手写系列]Go手写db — — 第二版 第一版文章:[手写系列]Go手写db — — 完整教程 整体项目Github地址:https://github.com/ziyifast/ZiyiDB请大家多多支持,也欢迎大家star⭐️和共同维护这个项目~ 本文主要介绍如何在 ZiyiDB 第一版的基础上…

私有化大模型基础知识

私有化大模型基础知识 文章目录私有化大模型基础知识0x01.开源闭源2. 数据成本:昂贵且隐形的开销3. 研发投入:人力与时间成本总结:总成本量化更重要的是:持续投入和机会成本0x02.模型大小0x03.模型参数0x04.CPU和GPU0x05.GPU和模型…

Django时区处理

Django 的时区处理机制是为了确保在全球部署应用时,时间数据始终一致、可控,并能根据用户或系统需求灵活转换。下面我来系统地拆解一下 Django 的时区处理方式,帮你掌握从配置到实际应用的全过程。🧭 1. 基础配置:USE_…

SqlHelper类库的使用方法

使用 SqlHelper.dll 时,首先需要在项目中引用该 DLL,然后通过其封装的方法简化 SQL Server 数据库操作。以下是常见操作的 C# 示例代码:查看SqlHelper.dll方法内容// 替换为实际的SqlHelper.dll路径 using System.Reflection; using Microsof…

苍穹外卖项目实战(日记十一)-记录实战教程及问题的解决方法-(day3-3)完善菜品分页查询功能

菜品分页查询 (1)需求分析 (2)代码开发分析 DTO 前端给后端 ,VO 后端给前端; vo是进行页面展示,dto是前后端数据交互的,pojo是对应数据库表字段 (3)DishCo…

C++ 力扣 704.二分查找 基础二分查找 题解 每日一题

文章目录二分查找:从基础原理到代码实现二分查找的特点:细节是坑,学会是宝算法重点:原理不只是“有序”,模板要懂不要背题目描述:LeetCode 704. 二分查找为什么这道题值得弄懂?为什么可以用二分…

VLN通用评测管线设计

我来用图形化的方式清晰地展示整个多模型适配的架构和流程: 效果视图 #mermaid-svg-1UJ7Kg2nY4JE9Ncs {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-1UJ7Kg2nY4JE9Ncs .error-icon{fill:#552222;}#merm…

aiohttp模块如何使用

aiohttp 简介aiohttp 是一个基于 Python 的异步 HTTP 客户端/服务器框架,构建于 asyncio 之上。它支持高性能的异步网络操作,适用于 Web 服务、爬虫、API 调用等场景。核心功能HTTP 客户端:支持异步发送 HTTP 请求,处理响应。HTTP…

ModuleNotFoundError: No module named ‘dbgpt_app‘

问题原因:这个问题的核心是Python的模块导入机制。即使能看到dbgpt_app目录,但Python解释器可能找不到它,这是因为Python需要知道去哪里查找这个模块。让我用简单的语言解释一下: Python的模块搜索路径 Python解释器在导入模块时&…

死锁产生的条件是什么? 如何进行死锁诊断?

1. 死锁产生的条件是什么?一个线程需要同时获取多把锁,这时就容易发生死锁2. 如何进行死锁诊断?当程序出现了死锁现象,我们可以使用jdk自带的工具:jps和jstackjps:输出JVM中运行的进程状态信息jstack:查看java进程内线程的堆栈信息,查看日志,检查是否有死锁,如果有…

【科研绘图系列】R语言在海洋生态学数据可视化中的应用:以浮游植物叶绿素和初级生产力为例

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍 数据准备 数据处理 叶绿素含量(Chl:C)随年龄的变化 初级生产力(NPP)随年龄的变化 数据可视化 加载R包 数据下载 导入数据 数据预处理 画图 保持图片 总结 系统信息 介绍 本教…

【Qt开发】常用控件(七)-> styleSheet

目录 1 -> 引言:为什么需要 Qt 样式表? 2 -> Qt 样式表基础 2.1 -> 什么是 Qt 样式表 2.2 -> 基本语法结构 3 -> 选择器类型 3.1 -> 通用选择器 3.2 -> 类型选择器 3.3 -> 类选择器 3.4 -> ID 选择器(通…

linux 正则表达式学习

本篇主要学习几个正则表达式匹配符&#xff1a; ^&#xff1a;锚定行首$&#xff1a;锚定行尾\< 或者 \b&#xff1a;锚定词首\>或者 \b&#xff1a;锚定词尾\B&#xff1a;匹配”非单词边界” 下面通过实验彻底掌握&#xff1a; 测试文件内容如下&#xff1a; cat test.…

MIPS汇编快速入门 【龙芯】

一、前言&#xff1a;MIPS与龙芯的渊源 MIPS&#xff08;Microprocessor without Interlocked Pipelined Stages&#xff09;是一种经典的RISC&#xff08;精简指令集&#xff09;架构&#xff0c;以流水线高效、指令简洁、低功耗为特点。龙芯&#xff08;Loongson&#xff09;…