(嵌入式系统开发)stm32串口通信与RS-232

article/2025/10/14 8:25:40

本篇主要叙述串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。

目录

一、串口协议与RS-232标准

1.串口通信协议

2. RS-232标准

1.  RS232电平与TTL电平的区别 

2.RS-232串口简介

二、CH340 USB转串口 

1.简介

2.基本原理

 3.接线简介

三、参考网站


一、串口协议与RS-232标准

1.串口通信协议

      串口通讯 (Serial Communication)是一种设备间非常常用的串行通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。 通讯协议,我们以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。

    串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。

一般情况下,设备之间的通信方式分为串行通信和并行通信。

并行通信串行通信
传输原理数据各个位同时传输数据按位顺序传输
优点速度快占用引脚资源少
缺点占用引脚资源多速度相对较慢

按照数据的传输方向,串口通信分为:

单工:数据传输只支持数据在一个方向上传输;
半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口;
全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。

按照通信方式,分为

  • 同步通信:带时钟同步信号传输。比如:SPI,IIC通信接口。
  • 异步通信:不带时钟同步信号。比如:UART(通用异步收发器),单总线

串口通讯的物理层有很多标准及变种,我们主要讲解RS-232标准RS-232标准主要规定了信号的用途、通讯接口以及信号的电平标准。

串口通信协议层:

串口通讯的数据包由发送设备通过自身的 TXD 接口传输到接收设备的 RXD 接口。在串口通讯的协议层中,规定了数据包的内容,它由启始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。

 

2. RS-232标准

 使用RS-232标准的串口设备间常见的通讯结构见图

在上面的通讯方式中,两个通讯设备的"DB9接口"之间通过串口信号线建立起连接,串口信号线中使用"RS-232标准"传输数据信号。由于RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个"电平转换芯片"转换成控制器能识别的"TTL校准"的电平信号,才能实现通讯。

1.  RS232电平与TTL电平的区别 

根据通讯使用的电平标准不同,串口通讯可分为TTL标准及RS-232标准,见表 。

通讯标准

电平标准(发送端)

5V TTL

逻辑1:2.4V-5V

逻辑0:0~0.5V

RS-232

逻辑1:-15V~-3V

逻辑0:+3V~+15V

                                    表 TTL电平标准与RS232电平标准

       我们知道常见的电子电路中常使用TTL的电平标准,理想状态下,使用5V表示二进制逻辑1,使用0V表示逻辑0;而为了增加串口通讯的远距离传输及抗干扰能力,RS232使用-15V表示逻辑1,+15V表示逻辑0。使用RS232与TTL电平校准表示同一个信号时的对比见图。

                                 图 RS-232与TTL电平标准下表示同一个信号

因为控制器一般使用TTL电平标准,所以常常会使用MA3232芯片对TTL及RS-232电平的信号进行互相转换。

2.RS-232串口简介

在最初的应用中,RS-232串口标准常用于计算机、路由与调制调解器(MODEN,俗称"猫")之间的通讯 ,在这种通讯系统中,设备被分为数据终端设备DTE(计算机、路由)和数据通讯设备DCE(调制调解器)。我们以这种通讯模型讲解它们的信号线连接方式及各个信号线的作用。

在旧式的台式计算机中一般会有RS-232标准的COM口(也称DB9接口),见图 。

                                      图  电脑主板上的COM口及串口线

其中接线口以针式引出信号线的称为公头,以孔式引出信号线的称为母头。在计算机中一般引出公头接口,而在调制调解器设备中引出的一般为母头,使用上图中的串口线即可把它与计算机连接起来。通讯时,串口线中传输的信号就是使用前面讲解的RS-232标准调制的。

在这种应用场合下,DB9接口中的公头及母头的各个引脚的标准信号线接法见图

                                 DB9标准的公头及母头接法

RS232接口(封装D89)      

序号

名称

符号

数据方向

说明

1

载波检测

DCD

DTEàDCE

Data Carrier Detect,数据载波检测,用于DTE告知对方,本机是否收到对方的载波信号

2

接收数据

RXD

DTEßDCE

Receive Data,数据接收信号,即输入。

3

发送数据

TXD

DTEàDCE

Transmit Data,数据发送信号,即输出。两个设备之间的TXD与RXD应交叉相连

4

数据终端(DTE) 就绪

DTR

DTEàDCE

Data Terminal Ready,数据终端就绪,用于DTE向对方告知本机是否已准备好

5

信号地

GND

-

地线,两个通讯设备之间的地电位可能不一样,这会影响收发双方的电平信号,所以两个串口设备之间必须要使用地线连接,即共地。

6

数据设备(DCE)就绪

DSR

DTEßDCE

Data Set Ready,数据发送就绪,用于DCE告知对方本机是否处于待命状态

7

请求发送

RTS

DTEàDCE

Request To Send,请求发送, DTE 请求 DCE 本设备向DCE端发送数据

8

允许发送

CTS

DTEßDCE

Clear To Send,允许发送,DCE回应对方的RTS发送请求,告知对方是否可以发送数据

9

响铃指示

RI

DTEßDCE

Ring Indicator,响铃指示,表示DCE端与线路已接通

上表中的是计算机端的DB9公头标准接法,由于两个通讯设备之间的收发信号(RXD与TXD)应交叉相连,所以调制调解器端的DB9母头的收发信号接法一般与公头的相反,两个设备之间连接时,只要使用"直通型"的串口线连接起来即可,见图 205。

                                             图 计算机与调制调解器的信号线连接

串口线中的RTS、CTS、DSR、DTR及DCD信号,使用逻辑 1表示信号有效,逻辑0表示信号无效。例如,当计算机端控制DTR信号线表示为逻辑1时,它是为了告知远端的调制调解器,本机已准备好接收数据,0则表示还没准备就绪。

如果没有RS232接口 只有USB接口,则需要买转换器~。

二、CH340 USB转串口 

1.简介

CH340是一个USB总线的转接芯片,实现USB转串口或者USB转打印口。
在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。

常用于MCU的自动下载电路中,驱动稳定性和通信速率都有不错的保障。

具体关于CH340的介绍可以看

http://www.wch.cn/product/CH340.html

2.基本原理

 3.接线简介

USB转串口模块可以使用3.3V或者5V电压供电,需要将跳线帽按下图进行安装

  

可以对USB转串口模块进行测试,将USB的电压引脚用跳帽接上,然后将RXD和TXD两个引脚用跳帽或者杜邦线接上。

 

然后打开串口终端,点击“手动发送”或者“自动发送”,如果在接收区可以接收到数据,说明USB转串口模块工作正常,否则需要检查接线是否正确、电路板元器件是否损坏。

下图是USB转串口模块的一些功能模块的标示,USB转串口电路板背后还预留了一些全信号输出的接口,可以将电线直接焊接在这些引脚上来使用预留的功能。

 

 

三、参考网站

https://blog.csdn.net/cool9932/article/details/79419990?ops_request_misc=&request_id=&biz_id=102&utm_term=%E4%B8%B2%E5%8F%A3%E5%8D%8F%E8%AE%AE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-79419990.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187icon-default.png?t=L9C2https://blog.csdn.net/cool9932/article/details/79419990?ops_request_misc=&request_id=&biz_id=102&utm_term=%E4%B8%B2%E5%8F%A3%E5%8D%8F%E8%AE%AE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-79419990.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187

https://blog.csdn.net/johnwillwin/article/details/108615422?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163497228816780357245244%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163497228816780357245244&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-4-108615422.first_rank_v2_pc_rank_v29&utm_term=%E4%B8%B2%E5%8F%A3%E5%8D%8F%E8%AE%AE%E5%92%8CRS-232%E6%A0%87%E5%87%86&spm=1018.2226.3001.4187 https://blog.csdn.net/wangjiaweiwei/article/details/49612207?ops_request_misc=&request_id=&biz_id=102&utm_term=USB/TTL%E8%BD%AC232%22%E6%A8%A1%E5%9D%97%EF%BC%88%E4%BB%A5CH340%E8%8A%AF%E7%89%87%E6%A8%A1%E5%9D%97%E4%B8%BA%E4%BE%8B%EF%BC%89%E7%9A%84%E5%B7%A5&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-49612207.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187


http://chatgpt.dhexx.cn/article/eCxXpOvm.shtml

相关文章

STM32与K210串口通信

目录 1.前言 2.接线部分 3.代码部分 1.k210部分 1.调用自带的库文件 2.将I/O18设置为UART1_TX功能并设置串口 3.数据发送函数 4.主函数 4.程序现象 2.STM32部分 1主函数 2.串口接收程序 3.程序现象 4.完整代码 5.总结 1.前言 这篇文章是为了填上一篇k210的简单PID…

八、STM32串口通信

目录 一、串口通信 1.1串口通信物理层 1.2USB转串口模块 1.3串口通信的其他应用 1.4串口数据包的基本组成 二、串口的结构体与函数讲解 2.1串口讲解 2.2结构体讲解 2.3串口初始化函数讲解 三、串口发送字符 3.1如何配置串口的发送 3.2项目实战 四、串口的中断接收 …

基于是stm32的串口通信

文章目录 一、串口协议和RS-232标准(一)、TTL电平标准(二)、RS232标准二、搭建STM32开发环境1.安装jdk2.安装STM32CubeMX三、实现LED的点亮3.1分析相应的原理图3.2使用CubeMX生成相关代码3.3实验结果四、STM32的USART串口通讯程序…

STM32串口通信详解(嵌入式学习)

STM32串口通信 1.通信基础知识1.1 时钟信号区分同步通信异步通信波特率总线协议(电气协议) 1.2 通信方式划分串行通信并行通信 1.3 通信方向划分单工通信半双工通信全双工通信常见通信总结 2. USARTUSART 介绍 3. 串口通信协议4. 相关寄存器串口控制寄存器波特率寄存器中断和状…

第七篇,STM32串口通信编程

1.通信的基本概念 (1)串行通信和并行通信 (2)单工,半双工和全双工 (3)通信速率 单位时间内传输的比特数表示传输速度,叫做波特率(bps) (4)通信协议(串口) 通…

STM32串口通信配置(USART/UART)

在配置USART和UART之前,得先明白什么是USART和UART以及它们之间有什么区别,其实两者是同步和异步的区别。 UART:universal asynchronous receiver and transmitter通用异步收发器; USART:universal synchronous asynch…

STM32_USART 串口通讯详解

对51单片机有了解的都知道51单片机的串口通讯工作原理,我们单片机使用的电平TTL电平,为了使我们的的单片机与PC进行通信,就需要一个电平转换芯片,把TTL电平转换为USB电平(使用的USB接口,如果使用的DB9接口&…

STM32之串口通信

串口通信原理 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如…

STM32(六)——串口通信原理

本节为——正点原子笔记,海创电子学习笔记 我们先来看看我们学习的内容 一、 串行接口的基本知识 而我们今天主要说说 串行通信 而这些又是怎么样理解的? 接下来还有一个问题——即是串行通讯的同步与异步的问题 而 UART 是属于全双工 异步通讯 —— 即可…

OPENMV-STM32串口通信

OPENMV-STM32串口通信 目录标题 OPENMV-STM32串口通信前言硬件选择硬件的通信连接OPENMV软件分析效果展示图 前言 最近要准备工巡赛,突然要发现需要进行视觉传动,所以我最近几天又温顾了一下Openmv,以前学习Openmv都是通过电脑对其进行控制,…

STM32——串口通信原理

STM32——串口通信 一、硬件部分1、RS232标准2、USB转串口(TTL)3、原生的串口到串口(TTL->TTL) 二、串口通信协议三、STM32串口通信功能框图1、引脚2、USART通信相关寄存器(最好过一遍,或者在试验之后回…

STM32串口通信,CH340工作原理

目录 一、串口协议 1.设备间的通信方式 2.RS-232标准 1.RS232电平与TTL电平的区别 2.RS-232串口简介 二、USB转232模块(CH340为例) 1.CH340简介 2.实物接线 三、参考文献 一、串口协议 串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的…

STM32-串口通信

1 串行通信接口背景知识 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,其通讯协议可分层为协议层和物理层。物理层规定通信协议中具有机械、电子功能的特性&#…

STM32 USART—串口通信

目录 一、串口通信协议物理层电平标准: 1.RS232标准: 2.USB转串口通讯(常用) 3.原生的串口到串口 二、串口通信协议软件层: 三、串口功能框图 1.引脚 2.数据寄存器USART_DR 3.字符帧组成介绍 4.发送与接收数据…

STM32 —— STM32 的串口通信

STM32 —— STM32 的串口通信 STM32的串口通信接口有两种,分别是:UART(通用异步收发器)、USART(通用同步异步收发器)。而对于大容量 STM32F10x 系列芯片,分别有 3 个 USART 和 2 个 UART 串口通信过程: 目前还处于入门阶段&#x…

STM32——串口通信

首先声明,本文是在查阅资料之后进行的一些内容总结,仅用于个人学习记录。 一、串口通信基本原理 按照数据传送方向分类 1、单工:数据传输只支持数据在一个方向上传输 2、半双工:允许数据在两个方向上传输。但是,在…

STM32 - 串口(USART)通信详解

STM32 - 串口(USART)通信 文章目录 STM32 - 串口(USART)通信1、STM32 串口简介2、串口的工作方式3、串口通信协议3.1: 物理层3.1.1: TTL、RS-232 标准3.1.2:USB 转串口(划重点&#…

STM32-串口通信详解总结

1. 串口通信方式 UART:universal asynchronous receiver and transmitter 通用异步收/发器,即串行异步全双工收发器。 USART: universal synchronous asynchronous receiver and transmitter 通用同步/异步收/发器,即串行异步/同步全双工收发…

(十三)STM32——串口通信(UART)

目录 学习目标 内容 通信方法 并行通信 串行通信 通信方向 通信方式 UART 特点 串口参数 通信流程 寄存器 USART_SR USART_DR USART_BRR 过程 代码 运行结果 运行结果 遇到的问题 总结 学习目标 本节我们要学习的的是STM32的通信部分,主要介绍…

STM32—串口通讯详解

串口通讯目录 物理层协议层USART简介开发板与上位机的连接代码讲解:一.初始化结构体二.NVIC配置中断优先级三.USART配置函数讲解四.传输数据的函数:1.发送一个字节2.发送字符串3.重定向printf函数发送字符串4.重定向getchar函数接收字符5.通过中断接收 结…