stm32串口通信

本文详细介绍了STM32的串口通信协议,包括串口通讯的基本概念、RS-232标准的定义与应用,以及RS232电平与TTL电平的区别。此外,还探讨了USB/TTL转232模块(如CH340芯片)的工作原理,并指导如何安装STM32CubeMX进行项目配置。最后,通过LED流水灯实验和GPIO波形观察,巩固串口通信的理解。
摘要由CSDN通过智能技术生成

目录

一.串口通讯协议简介

二.RS-232标准

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

四.USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。

五.安装 stm32CubeMX

六.LED流水灯

七.观察GPIO波形

八.总结 


一.串口通讯协议简介

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

二.RS-232标准

RS-232标准接口(又称EIA RS-232)是常用的串行通信接口标准之一,它是由美国电子工业协会(EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定,其全名是“数据终端设备( DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。

rs232ï¼9éï¼æ¥å£

 

在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。(“RS-232-C”中的“-C”只不过表示RS-232的版本,所以与“RS-232”简称是一样的)。

它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准。而工业控制的RS-232口一般只使用RXD、TXD、GND三条线。

传统的串行接口标准有 22 根线,采用标准 25 芯 D 型插头座(DB25),后来使用简化为 9 芯 D 型

插座(DB9),现在应用中 25 芯插头座已很少采用。 像现在所说的几线串口,一般都是指使用了几根线,最初的 RS-232 串口是 25 针的,所有的针脚定

义都有用到,后来变成了 9 针的,所谓全功能串口就是所有的针脚定义都使用上了,例如流量控制,握手

信号等都有用到,一般来说国外的产品做产品比较规矩,把所有的串口信号都做上去了。但是国内的技术

人员发现,其实 RS-232 串口最主要使用的就是 2,3 线,另外的接口如果不使用的话,也不会出现很大

的问题,所以,就在 9 针的基础上做精简,所以就有所谓的 2,3,4,5,6,8 线的串口出来了。

2 线串口只有 RXD,TXD 两根基本的收发信号线;3 线串口除了 RXD 和 TXD,还有 GND;所谓 4~9

线只是在 TXD 和 RXD 基础上增加了相应的控制信号线,依据实际需要进行设计。一般来说,使用 5 线

的 232 通信,是加了硬件流控的,即 RTS,CTS 信号,主要是为了保证高速通信时的可靠性,如果你的通信

速度不是很高,完全可以不用理会。根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双

工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向

传送则称为全双工。


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

结论:TTL电平和RS232电平,无论是在电压范围还是在极性上(RS232是负逻辑)都有很大的不同。显然,这两种电平是不能直接相连的。为了把单片机的TTL电平转换成RS232电平,通常我们需要一个专用的转换芯片,比如SP3232。

RS232是工业上常用的串口标准,无论是PLC的RS232串口模块,还是工控机的串口(COM),输出的电平都称为RS232电平。同时我们知道这些模块的内部控制单元都是单片机,其电平为TTL电平。

TTL电平

TTL(Transistor-Transistor Logic,晶体管-晶体管逻辑),TTL电平即TTL电路输出的电平,TTL电路的工作电压是5V,它的输出可以是高电平(3.6V)或者低电平(0.3V)。由于电平是一个连续变化的电压范围,为了用这种模拟量的电压来表示数字量的逻辑1和逻辑0,TTL电平规定:

对于输出电路:电压大于等于(≥)2.4V为逻辑1;电压小于等于(≤)0.4V为逻辑0;

对于输入电路:电压大于等于(≥)2.0V为逻辑1;电压小于等于(≤)0.8V为逻辑0;

RS232电平

RS232是美国电子工业协会于1962年发布的串行通信接口标准,RS即Recomend Standard,推荐标准,232为标示号。该标准对串行通信的物理接口及逻辑电平都做了规定。最简单的RS232通信由三条数据线组成,即TxD、RxD和GND。RS232采用负逻辑电平,即-15V~-3V代表逻辑"1",+3V~+15V代表逻辑"0"。这里的电平,是TxD线(或者RxD线)相对于GND的电压。

1.电平的上限和下限定义不一样,CMOS具有更大的抗噪区域。 同是5伏供电的话,ttl一般是1.7V和3.5V的样子,CMOS一般是2.2V,2.9V的样子,不准确,仅供参考。

2.电流驱动能力不一样,ttl一般提供25毫安的驱动能力,而CMOS一般在10毫安左右。

3.需要的电流输入大小也不一样,一般ttl需要2.5毫安左右,CMOS几乎不需要电流输入。

4.很多器件都是兼容TTL和CMOS的,datasheet会有说明。如果不考虑速度和性能,一般器件可以互换。但是需要注意有时候负载效应可能引起电路工作不正常,因为有些ttl电路需要下一级的输入阻抗作为负载才能正常工作。TTL电路和CMOS电路的逻辑电平
VOH: 逻辑电平 1 的输出电压
VOL: 逻辑电平 0 的输出电压
VIH : 逻辑电平 1 的输入电压
VIH : 逻辑电平 0 的输入电压
6.TTL和CMOS的逻辑电平转换
CMOS电平能驱动TTL电平
TTL电平不能驱动CMOS电平,需加上拉电阻。
 

四.USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。


TXD:发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD。

RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。
正常通信时候本身的TXD永远接设备的RXD!

自收自发:正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据顾名思义,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。

电平逻辑:

TTL电平:通常数据表示采用二进制,规定+5V等价于逻辑“1”,0V等价于逻辑“0”,称作TTL信号系统,是正逻辑

RS232电平:采用-12V到-3V,等价于逻辑“0”,+3V到+12V的逻辑电平,等价于逻辑“1”,是负逻辑的。

产品说明:

1、主芯片为CP2102,安装驱动后生成虚拟串口

2、USB取电,引出接口包括3.3V(《40mA),5V,GND,TX,RX,信号脚电平为3.3V,正逻辑

3、板载状态指示灯、收发指示灯,正确安装驱动后状态指示灯会常亮,收发指示灯在通信的时候会闪烁,波特率越高亮度越低

4、支持从300bps~1Mbps间的波特率

5、通信格式支持:1)5,6,7&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值