历史上的今天
返回首页

历史上的今天

今天是:2025年01月21日(星期二)

正在发生

2021年01月21日 | STM32的USART中RTS、CTS的作用和意义

2021-01-21 来源:eefocus

Ⅰ、写在前面

我们都知道USART中RX和TX这两个引脚的功能,这两个引脚是USART串行通信最常见和必不可少的两个引脚。但我们在手册中会发现关于USART的其他引脚:USART_CK、USART_RTS、USART_CTS,如下图:

 

但我们大部分都没怎么使用过USART_RTS和USART_CTS这两个引脚。下面将给大家简单讲述一下关于USART串口拓展的知识。

 

Ⅱ、关于DB9串口接头

我们都听说过RS232,说232就知道DB9这个串口接头。

DB9个引脚的功能:

 

1 CD ← Carrier Detect 载波检测

2 RXD ← Receive Data 接收数据

3 TXD → Transmit Data 发送数据

4 DTR → Data Terminal Ready数据终端就绪

5 GND — System Ground 系统接地

6 DSR ← Data Set Ready 数据设备就绪

7 RTS → Request To Send 请求发送

8 CTS ← Clear To Send 允许发送

9 RI → 这个好像是什么提示信号

 

相信大家都知道DB9这个标准的串口接头,但我们大部分就只用RX、TX和GND这三个引脚,其他引脚都不关心,或者都不知道是什么意思,相信看了引脚定义之后,大概有所理解。

 

Ⅲ、RTS CTS

在ARM处理器中的USART中,基本上都具有硬件流控的功能,也就是说一般都有RTS CTS引脚(注意:功能简单一点的处理器,如51、STM8等,很少有串口硬件流控功能)。

 

RTS:是模块的输入端,用于MCU通知模块,MCU是否准备好,模块是否可向MCU发送信息,RTS的有效电平为低。

 

CTS:是模块的输出端,用于模块通知MCU,模块是否准备好,MCU是否可向模块发送信息,CTS的有效电平为低

 

RTS (Require ToSend,发送请求)为输出信号,用于指示本设备准备好可接收数据,低电平有效,低电平说明本设备可以接收数据。

 

CTS (Clear ToSend,发送允许)为输入信号,用于判断是否可以向对方发送数据,低电平有效,低电平说明本设备可以向对方发送数据。

 

Ⅳ、STM32中硬件流控配置

我们配置串口时,有如下一段配置代码:

 

USART_InitTypeDef USART_InitStructure;

 

USART_InitStructure.USART_BaudRate = 115200;

USART_InitStructure.USART_WordLength = USART_WordLength_8b;

USART_InitStructure.USART_StopBits = USART_StopBits_1;

USART_InitStructure.USART_Parity = USART_Parity_No ;

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

USART_Init(USART1, &USART_InitStructure);

 

上面配置代码中有一个参数:

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

 

其实这个参数可以为:

#define USART_HardwareFlowControl_None       ((uint16_t)0x0000)

#define USART_HardwareFlowControl_RTS        ((uint16_t)0x0100)

#define USART_HardwareFlowControl_CTS        ((uint16_t)0x0200)

#define USART_HardwareFlowControl_RTS_CTS    ((uint16_t)0x0300)

 

也就是可以配置使用RTS和CTS这两个引脚为硬件流控的功能。


推荐阅读

史海拾趣

EQCOLOGIC公司的发展小趣事

在电子产品行业,品质是企业生存和发展的关键。EQCOLOGIC公司从成立之初就高度重视品质控制,建立了严格的质量管理体系。公司投入大量资金购买先进的检测设备,确保每一批产品都符合质量要求。同时,EQCOLOGIC还注重员工培训和技能提升,提高员工对品质控制的意识和能力。正是对品质的坚守,让EQCOLOGIC在竞争激烈的市场中赢得了良好的口碑。

博流(Bouffalo Lab)公司的发展小趣事

自成立以来,博流公司一直致力于物联网、车联网和智能穿戴领域集成电路芯片的研发。经过不断的技术创新和突破,公司成功推出了多款具有竞争力的芯片产品,广泛应用于智能家居、智慧城市、智能制造等领域。同时,博流还注重与物联网生态合作伙伴的紧密合作,共同提供端到端、边缘计算到云的整体解决方案,为客户创造价值。

AirBorn公司的发展小趣事

AirBorn公司成立于1958年,总部位于得克萨斯州奥斯汀。在创立之初,AirBorn就致力于设计、制造和销售高性能连接器和电缆组件。随着电子技术的飞速发展,AirBorn敏锐地捕捉到航空航天领域对高性能连接器的需求,并开始了针对这一领域的定制化产品研发。凭借卓越的技术实力和创新能力,AirBorn很快在航空航天连接器市场占据了一席之地。

ETEQ Microsystems Inc公司的发展小趣事

随着市场的不断发展,ETEQ Microsystems Inc意识到只有不断创新才能保持竞争力。公司投入大量资源进行研发,终于在XXXX年成功研发出业界首款集成了人工智能算法的微型传感器。这一产品不仅提高了数据的处理效率,还大大降低了能耗,为物联网领域带来了革命性的变化。

Acme Electric Corporation公司的发展小趣事

ETEQ Microsystems Inc一直将品质管理作为公司的核心竞争力之一。公司建立了严格的质量管理体系,从原材料采购到产品生产、测试、包装等各个环节都严格把控。同时,公司还鼓励员工积极参与品质改进活动,通过持续改进不断提升产品质量和客户满意度。

喜美克斯(Cvilux)公司的发展小趣事

在市场竞争日益激烈的电子行业中,喜美克斯公司始终坚持品质至上的原则。公司投入大量资源用于产品质量控制和生产工艺的改进,确保每一件产品都能达到最高的品质标准。这种对品质的执着追求,让喜美克斯的产品在市场上赢得了良好的口碑,也为公司赢得了众多忠实的客户。

问答坊 | AI 解惑

模拟电路一日通(Ti的模拟电路应用基础资料)

本帖最后由 dontium 于 2015-1-23 11:33 编辑 模拟电路一日通(Ti的模拟电路应用基础资料) 本人认为很好的资料 …

查看全部问答>

Linux源代码分析

莱昂氏unix源代码分析 本书由上、下两篇组成。上篇为UNIX版本6的源代码,下篇是莱昂先生对UNIX操作系统版本6源代码的详细分析。本书语言简洁、透彻,曾作为未公开出版物广泛流传了二十多年,是一部杰出经典之作。本书适合UNIX操作系统编程人员、大 ...…

查看全部问答>

Wince5.0 With PlatForm Builder 安装补丁后的问题。

PB5.0,安装了2007年全年的补丁(下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=a54779d5-f4a5-49f0-9e36-979d461f536c&DisplayLang=en)后,编译生成的NK.bin,烧入2410的板子后,系统启动时候出现,     致命 ...…

查看全部问答>

驱动获得系统目录

驱动里面怎么获得系统目录啊。。…

查看全部问答>

同维电子(深圳)有限公司怎么样?软件工程师笔试题考什么?阅读[1] 回复[0]

同维电子(深圳)有限公司怎么样?软件工程师笔试题考什么?小弟好久没看书了,真想从事嵌入式的工作,帮帮忙啊! …

查看全部问答>

k51开发环境是针对几位单片机的呀?因为不同位的单片机汇编器是不同的呀。

k51开发环境是针对几位单片机的呀?因为不同位的单片机汇编器是不同的呀。…

查看全部问答>

Industry’s First Fully Isolated Industrial CAN Transceivers

Analog Devices, Inc. has expanded its industry-leading isolated interface product portfolio with two transceivers that are the first to isolate both data signals and power for systems using the CAN (control-area network) communica ...…

查看全部问答>

stm32驱动ov7660工作的时候出问题了。。。求指点呀!!!!

程序老是卡在摄像头初始化那块。。。这该如何是好呀?????    …

查看全部问答>

关于OK6410 Eboot过大,修改配置空间!!!

关于OK6410增大Eboot空间分配的问题!!! 空间, 编辑 关于OK6410增大Eboot空间分配的问题OK6410, Eboot增大本帖最后由 a84901485 于 2012-2-21 15:46 编辑 我的Eboot生成有890K,我想将分配给它的空间改为1M,于是,我修改了EBoot.bib ...…

查看全部问答>

ATX电源的控制电路讲解(TL494及LM339集成电路)

replyreload += \',\' + 1439961;ATX电源的控制电路见图1。控制电路采用TL494(有的电源采用KA7500B,其管脚功能与TL494相同,可互换)及LM339集成电路(以下简称494和339)。494是双排16脚集成电路,工作电 ...…

查看全部问答>