你真的懂什么是串口吗?

news2025/1/11 7:58:32

你真的懂什么是串口吗?

文章目录

  • `你真的懂什么是串口吗?`
    • `问题`
    • `什么是串口`
      • `概念`
      • `4种电平及其特性`
      • `串口与电脑USB口通信`
    • `通讯分类`
    • `常见的串行通信接口`
      • `通信方式分类`
        • `串行通信`
        • `并行通信`
      • `传输方向分类`
      • `同步方式分类`
      • `PS:波特率和比特率`
    • `RS232 和 RS485`
      • `RS232 `
        • `引脚和连接方式`
        • `RS-232异步通信协议`
      • `RS485`
        • `PS:串口基础协议 & MODBUS协议`
        • `引脚和连接方式`
  • `如果对你有帮助,就点赞收藏把!(。・ω・。)ノ♡`


问题

不知道是否有很多人跟我一样
当初还没开始学嵌入式的时候,以为 串口 == USART == USBX X X
如果你也这么认为,那你可要仔细阅读本文了!!!!!


什么是串口


概念

串口,可以理解为,串行通信接口,指按位发送和接收的接口

串口是一个泛称,UART、RS232、RS422和RS485都遵循类似的通信时序协议,被通称为串口。

UART是STM32的UART外设,由此产生串口时序,产生的电平为CMOS电平。
TTL、RS232、RS422、RS485是串行通信接口标准。简单来说,就是逻辑1和0的表示不同。

4种电平及其特性

RS-232电平 不能直接与 COMS/TTL电平 交换信息。

通信接口通信方式信号线逻辑1逻辑0拓扑结构通信距离通讯速率抗干扰能力
COMS电平半双工/全双工数据线、时钟线5V或3.3V接近0V点对点或多点<10米1~100Mbps中等至较强
TTL电平全双工TX/RX/GND2.4~5 V0~0.4 V点对点1米100kbps
RS232电平全双工TX/RX/GND-(15~3) V+(3~15) V点对点100米20kbps较弱
RS485电平半双工差分线AB+(2~6)V-(2~6)V多点双向1200米100kbps

串口与电脑USB口通信

在这里插入图片描述


通讯分类


常见的串行通信接口

在这里插入图片描述


通信方式分类

特点传输速率抗干扰能力通信距离IO资源占用成本
串行通信较低较强较长较少较低
并行通信较高较弱较短较多较高
串行通信

在这里插入图片描述

并行通信

在这里插入图片描述


传输方向分类

单工通信:数据只能沿一个方向传输
半双工通信:数据可以沿两个方向传输,但需要分时进行
全双工通信:数据可以同时进行双向传输

在这里插入图片描述


同步方式分类

同步通信:共用同一时钟信号
异步通信:没有时钟信号,通过在数据信号中加入起始位和停止位等一些同步信号
在这里插入图片描述

PS:波特率和比特率

1,比特率:每秒钟传送的比特数,单位bit/s
2,波特率:每秒钟传送的码元数,单位Baud
3,比特率 = 波特率 * log2 M ,M表示每个码元承载的信息量
4,二进制系统中,波特率 数值上等于 比特率


RS232 和 RS485

往期作品:RS232、RS485与RS422初步学习

在这里插入图片描述

RS232

RS232 接口:DR9(公头) 和 DB9(母头)
在这里插入图片描述

引脚和连接方式
类型引脚引脚作用
数据RXD(pin 2)串口数据输入
TXD(pin 3)串口数据输出
GND(pin 5)信号地
握手DCD(pin 1)数据载波检测
DTR(pin 4)数据终端就绪
DSR(pin 6)数据发送就绪
RTS(pin 7)请求发送
CTS(pin 8)清除发送
其他RI(pin 9振铃指示

在这里插入图片描述

RS-232异步通信协议

在这里插入图片描述
在这里插入图片描述


RS485

RS485是串行通信标准,使用差分信号传输,抗干扰能力强,常用于工控领域。
常见原理图
在这里插入图片描述


PS:串口基础协议 & MODBUS协议

RS485具有强大的组网功能,在串口基础协议之上还制定MODBUS协议。
串口基础协议:仅指封装了基本数据包格式的协议(基于数据位)
MODBUS协议:使用基本数据包组合成通讯帧格式的高层应用协议(基于数据包或字节)


引脚和连接方式
端口逻辑1 (高电平)逻辑0 (低电平)
发送端A为高电平,B为低电平A为低电平,B为高电平
接收端A-B ≥ +0.2 VA-B ≤ - 0.2 V
引脚引脚作用
RO接收器输出端
RE接收器输出使能(低电平有效)
DI驱动器输入端
DE驱动器输出使能(高电平有效)
B接收器的输入端/驱动器的输出端
A接收器的输入端/驱动器的输出端

在这里插入图片描述



┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈┈
┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈
┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈
▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈┈

如果对你有帮助,就点赞收藏把!(。・ω・。)ノ♡

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

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

相关文章

Django 中显示图片

在 Django 中显示图片的基本步骤包括&#xff1a;配置静态文件和媒体文件的处理、上传图片、以及在模板中显示图片。以下是详细步骤&#xff1a; 问题背景&#xff1a; 我在学习 Django 并在构建一个简单的网站&#xff0c;我尝试使用模板语言添加一些图片&#xff0c;但显示的…

升级阿里云linux服务器上的php版本

查看已安装的php软件包 [rootiZbp13pl2v34qj0thwq9aiZ ~]# rpm -qa|grep php php74-php-common-7.4.26-1.el7.remi.x86_64 oniguruma5php-6.9.7.1-1.el7.remi.x86_64 php74-php-gd-7.4.26-1.el7.remi.x86_64 php74-php-opcache-7.4.26-1.el7.remi.x86_64 php74-php-json-7.4.2…

阿里云Elasticsearch 企业级AI搜索方案发布

在AI技术日新月异的今天&#xff0c;尤其是大语言模型的兴起&#xff0c;企业智能化场景的解决方案正经历一场前所未有的革新。然而&#xff0c;大模型在实际应用中面临的挑战不容小觑&#xff0c;如何高效、精准地服务于企业的个性化需求成为关键。阿里云搜索产品团队通过阿里…

QT文件的操作

QT文件的操作 学习QT的文件操作类:Qfile、QTextStream。利用QtCreator工具实现文件的操作过程。通过文件读取样式表文件,动态的改变控件的外观。QFile提供了操作文件的常用功能。是一种IO设备,可以用来读写文本文件和二进制文件,也可以用来读写QT的资源文件。QFile类可以单…

仓库与文件的提交/修改/删除

目录 1. 创建仓库 ​编辑​编辑 2. 界面解释 3. 再创建仓库 4. 移除仓库 5. 本地添加文件到仓库 ​编辑​编辑 6. 比对&#xff0c;提交 7. 修改&#xff0c;提交 8. 查询版本号 9. 删除文件 git 是分布式版本控制工具&#xff0c;需要将中央服务器克隆到本地&#…

【Spark集群部署系列一】Spark local模式介绍和搭建以及使用(内含Linux安装Anaconda)

简介 注意&#xff1a; 在部署spark集群前&#xff0c;请部署好Hadoop集群&#xff0c;jdk8【当然Hadoop集群需要运行在jdk上】&#xff0c;需要注意hadoop&#xff0c;spark的版本&#xff0c;考虑兼容问题。比如hadoop3.0以上的才兼容spark3.0以上的。 下面是Hadoop集群部署…

wps怎么找回未保存的文件?分享三个文件恢复方法

在编辑WPS文档时&#xff0c;偶尔会遇到未保存就意外关闭的情况&#xff0c;这不仅令人沮丧&#xff0c;还可能导致重要信息的丢失。但幸运的是&#xff0c;WPS提供了多种途径来帮助用户找回这些未保存的宝贵文件。从利用WPS的自动备份与恢复功能&#xff0c;到检查最近文档列表…

docker安装es8和kibana

es8、kibana安装、ik分词器使用 1 拉取镜像2 创建网络3 安装ES3.1 启动临时的ES3.2 运行es3.3 修改用户密码 4 安装kibana4.1 启动临时的kibana4.2 修改配置文件4.3 重启kibana4.4 调用5601端口&#xff08;我映射的是8082&#xff09; 5 安装ik分词器&#xff08;离线安装&…

聚众力·链未来 | 2024 FISCO BCOS认证合作伙伴开放申请

“独行虽速&#xff0c;众行方远”&#xff0c;一个充满蓬勃生命力的开源社区需要众多伙伴结伴同行&#xff0c;彼此支持&#xff0c;方能行远。开源7年来&#xff0c;FISCO BCOS开源社区始终秉持开放、连接的开源精神&#xff0c;与业界伙伴共同推动国产开源联盟链生态可持续性…

江理工文档管理系统的设计与实现

TOC springboot148江理工文档管理系统的设计与实现 绪论** 1.1 研究背景 在这个推荐个性化的时代&#xff0c;采用新技术开发一个文档系统来分享和展示内容是一个永恒不变的需求。本次设计的文档管理系统有管理员和用户两个角色。管理员功能有论坛管理&#xff0c;公告管理…

【网络协议】网络劫持 - ARP/DNS欺骗篇

前言 网络劫持是一种网络攻击技术&#xff0c;攻击者通过拦截、篡改或重定向数据流量&#xff0c;控制用户的网络通信路径&#xff0c;干扰正常的网络服务。其方式可能包括DNS劫持、ARP欺骗和HTTP劫持等。通过这些手段&#xff0c;攻击者可以窃取敏感信息如个人身份数据和财务信…

3 第一个 C 程序、程序编译过程、注释、printf 基本使用、代码块风格

目录 1 第一个 C 程序 1.1 需求说明 1.2 开发步骤 1.3 使用终端运行程序 1.4 程序代码分析 2 C 程序运行机制流程 2.1 编写 2.2 预处理 2.3 编译 2.4 汇编 2.5 链接 2.6 运行 2.7 gcc 步骤指令 3 C 程序开发注意事项 4 注释 4.1 什么是注释 4.2 注释的作用 4…

Java面试八股之什么是AMQP协议

什么是AMQP协议 AMQP&#xff08;Advanced Message Queuing Protocol&#xff0c;高级消息队列协议&#xff09;是一个开放标准的应用层协议&#xff0c;旨在为消息中间件提供一种统一的、标准的通信方式。它允许消息在分布式系统中的应用程序之间进行可靠的、异步的传递。AMQ…

console调试

简介 浏览器的开发者工具为我们提供了强大的调试系统&#xff0c;可以用来查看DOM树结构、CSS样式调试、动画调试、JavaScript代码断点调试等。今天我们就来看看console调试的那些实用的调试技巧。 我们使用最多的就是console.log()了&#xff0c;当然多数情况下&#xff0c;…

0813,引用,函数重载,内存布局叭叭叭

是我4句话5个ERROR&#xff0c;阿巴阿巴 001_arrpointer.cc #include <iostream> using std::cout; using std::endl;void test(){int a[5]{1,2,3,4,5};int (*p)[5]&a;cout<<p<<endl;cout<<p1<<endl;int *pp(int*)(&a1);//第二个数组的…

vscode + cmake + ninja + ARMCC 配置stm32开发环境(构建篇)

vscode cmake ninja ARMCC 配置stm32开发环境&#xff08;构建篇&#xff09; 1. 前置环境 1.1 cmake安装 从CMake官网上下载CMake安装包进行安装CMake。CMake官网 安装完成之后&#xff0c;使用cmd查看cmake是否添加进入环境变量。 1.2 LLVM套件安装 从LLVM的github…

K8S上安装LongHorn(分布式块存储) --use

要在 Kubernetes上安装 LongHorn&#xff0c;您可以按照以下步骤进行操作&#xff1a; 一、准备工作 参考 官网教程将LongHorn只部署在k8s-worker5节点上。https://github.com/longhorn/longhorn 安装要求 Each node in the Kubernetes cluster where Longhorn is installe…

Java虚拟机:运行时内存结构

大家好&#xff0c;我是栗筝i&#xff0c;这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 035 篇文章&#xff0c;在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验&#xff0c;并希望进…

人口老龄化社区服务与管理平台

TOC springboot136人口老龄化社区服务与管理平台 系统概述 1.1 研究背景 人口老龄化社区服务与管理平台是面向居家老人用户、社区的系统与信息平台&#xff0c;并在此基础上提供实时、快捷、高效、低成本的&#xff0c;物联化、互联化、智能化的人口老龄化社区服务服务。 …

CTFHub~SQL注入超简单详细教程

0x01整数型注入 # 本题告诉我们是整数型&#xff0c;所以就很容易了# 判断字段数量 1 order by 2# 判断回显点 -1 union select 1,2# 查询全部数据库名 -1 union select 1,group_concat(schema_name) from information_schema.schemata# 判断数据库中的表名 -1 union select 1…