历史上的今天
今天是: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这两个引脚为硬件流控的功能。
史海拾趣
|
本帖最后由 dontium 于 2015-1-23 11:33 编辑 模拟电路一日通(Ti的模拟电路应用基础资料) 本人认为很好的资料 … 查看全部问答> |
|
莱昂氏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] 同维电子(深圳)有限公司怎么样?软件工程师笔试题考什么?小弟好久没看书了,真想从事嵌入式的工作,帮帮忙啊! … 查看全部问答> |
|
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 ...… 查看全部问答> |
|
关于OK6410增大Eboot空间分配的问题!!! 空间, 编辑 关于OK6410增大Eboot空间分配的问题OK6410, Eboot增大本帖最后由 a84901485 于 2012-2-21 15:46 编辑 我的Eboot生成有890K,我想将分配给它的空间改为1M,于是,我修改了EBoot.bib ...… 查看全部问答> |
|
replyreload += \',\' + 1439961;ATX电源的控制电路见图1。控制电路采用TL494(有的电源采用KA7500B,其管脚功能与TL494相同,可互换)及LM339集成电路(以下简称494和339)。494是双排16脚集成电路,工作电 ...… 查看全部问答> |




