1 STM32的USART中RTS、 CTS的作用和意义-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32的USART中RTS、 CTS的作用和意义

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-20 11:11 次阅读

写在前面 Ⅰ

我们都知道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;

其实这个参数可以为:

#defineUSART_HardwareFlowControl_None ((uint16_t)0x0000)

#defineUSART_HardwareFlowControl_RTS ((uint16_t)0x0100)

#defineUSART_HardwareFlowControl_CTS ((uint16_t)0x0200)

#defineUSART_HardwareFlowControl_RTS_CTS ((uint16_t)0x0300)

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2270

    文章

    10895

    浏览量

    355729
  • USART
    +关注

    关注

    1

    文章

    195

    浏览量

    30835
  • RTS
    RTS
    +关注

    关注

    0

    文章

    21

    浏览量

    14337
  • CTS
    CTS
    +关注

    关注

    0

    文章

    35

    浏览量

    14103
收藏 人收藏

    评论

    相关推荐

    CTS MicroStar BGA停产并重新设计

    德赢Vwin官网 网站提供《CTS MicroStar BGA停产并重新设计.pdf》资料免费下载
    发表于 11-24 14:24 0次下载
    <b class='flag-5'>CTS</b> MicroStar BGA停产并重新设计

    stm32f407的drv_usart.c文件编译错误怎么解决?

    stm32f407的drv_usart.c文件编译错误 static rt_err_t stm32_configure(struct rt_serial_device *serial, struct
    发表于 07-25 06:51

    在ESP8266使用RTS线路时遇到的疑问求解

    我在ESP8266使用 RTS 线路时遇到了一些问题(AT 版本:1.4.0.0,SDK 版本:2.1.0),基本上它永远不会激活。 Handhsake 已正确启用 CTSRTS
    发表于 07-16 07:53

    ESP8266是否支持RTS/CTS机制?

    不会发送 RTS 报文来请求 chennel。 8266是否支持RTS/CTS机制?如果是这样,哪个API可以打开它?
    发表于 07-10 08:27

    如何在UART0上使用RTS/CTS和ESP8266?

    使用此连接设置时,AT 命令无法到达调制解调器(我们已经验证了在调制解调器启用了硬件流控制,也在 ESP 启用了 - uart.h) 如何在 UART0 上使用 RTS/CTS
    发表于 07-10 08:13

    振弦采集仪在大型工程安全监测作用意义

    振弦采集仪在大型工程安全监测作用意义 大型工程的安全监测是确保工程施工过程的安全和稳定性的重要环节。而河北稳控科技振弦采集仪作为一种先进的监测设备,在大型工程安全监测
    的头像 发表于 07-09 10:22 225次阅读
    振弦采集仪在大型工程安全监测<b class='flag-5'>中</b>的<b class='flag-5'>作用</b>与<b class='flag-5'>意义</b>

    STM32发送HTTP格式收到空的数据是怎么回事?

    ;amp; FreeRtos &amp;CTS/RTS 和ESP沟通过程描述: STM等待CTS 为L准位并发送AT command,RTS设定为0, 当ESP32发送数据给
    发表于 06-27 06:57

    启用了硬件的流控RTSCTS, 出现esp-modem: HW FIFO Overflow是什么原因导致的?

    , .flow_ctrl = UART_HW_FLOWCTRL_CTS_RTS , .rx_flow_ctrl_thresh = 122 //UART_FIFO_LEN -8 }; MODEM_CHECK
    发表于 06-25 06:08

    如何设置rts frame的duration?

    我有一个系统一个ap和数个sta. STA每隔8毫秒发个udp包。可以通过wireshark抓包发现,每个sta都会先发一个rts包,其中duration为156毫秒。这样其他sta和ap在156毫秒内就不发包了。请问如何设置这个duration值,或者直接停止发送rts
    发表于 06-24 06:48

    USART上对应RTS的GPIO引脚不需要定义吗?

    大家都知道USARTRX和TX这两个引脚的功能,它们是USART串行通信最常见和必不可少的两个引脚。但是USART的其他引脚如USART_RTS
    发表于 04-25 08:05

    stm32F407 USART发送数据,TC不能置位是怎么回事?

    _FLAG(USART_FLAG)); /* The CTS flag is not available for UART4 and UART5 */ if (USART_FLAG == U
    发表于 04-25 06:15

    交换芯片的作用意义

    交换芯片作为网络设备的核心组件,其作用意义不可忽视。
    的头像 发表于 03-18 14:34 632次阅读

    CY7C65223-24LTXI不使用流量控制功能时,RTSCTS引脚是否应处于打开状态?

    请告诉我有关 CY7C65223-24LTXI 的引脚处理的信息。 不使用流量控制功能时,RTSCTS 引脚是否应处于打开状态?
    发表于 03-07 07:54

    只要CTS引脚保持高电平,CYW20706上的BTSDK PUART驱动器就会阻止整个系统,这准确吗?

    你好 我正在使用 CYBT-343026 (CYW20706) 上的 PUART 向具有 CTS/RTS 流量控制的主机 MCU 发送/接收数据。 主机 MCU 有时会通过长时间拉高 CYBT
    发表于 03-01 11:31

    uart与usart区别 usart可以当uart用吗

    USART实际上包含了UART的功能,并增加了支持同步通信的能力。在大多数微控制器,UART通常是USART功能的一部分,USART可以配置为UART模式进行异步通信。
    发表于 01-17 15:46 1.9w次阅读
    uart与<b class='flag-5'>usart</b>区别 <b class='flag-5'>usart</b>可以当uart用吗