91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-20 11:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫在前面 Ⅰ

我們都知道USART中RX和TX這兩個引腳的功能,這兩個引腳是USART串行通信最常見和必不可少的兩個引腳。但我們在手冊中會發(fā)現(xiàn)關(guān)于USART的其他引腳:USART_CK、USART_RTS、USART_CTS,如下圖:

但我們大部分都沒怎么使用過USART_RTS和USART_CTS這兩個引腳。下面將給大家簡單講述一下關(guān)于USART串口拓展的知識。

關(guān)于DB9串口接頭 Ⅱ

我們都聽說過RS232,說232就知道DB9這個串口接頭。

DB9個引腳的功能:

1 CD ← Carrier Detect 載波檢測

2 RXD ← Receive Data 接收數(shù)據(jù)

3 TXD → Transmit Data 發(fā)送數(shù)據(jù)

4 DTR → Data Terminal Ready數(shù)據(jù)終端就緒

5 GND — System Ground 系統(tǒng)接地

6 DSR ← Data Set Ready 數(shù)據(jù)設(shè)備就緒

7 RTS → Request To Send 請求發(fā)送

8 CTS ← Clear To Send 允許發(fā)送

9 RI → 這個好像是什么提示信號

相信大家都知道DB9這個標(biāo)準(zhǔn)的串口接頭,但我們大部分就只用RX、TX和GND這三個引腳,其他引腳都不關(guān)心,或者都不知道是什么意思,相信看了引腳定義之后,大概有所理解。

RTS CTS Ⅲ

ARM處理器中的USART中,基本上都具有硬件流控的功能,也就是說一般都有RTS CTS引腳(注意:功能簡單一點(diǎn)的處理器,如51、STM8等,很少有串口硬件流控功能)。

RTS:是模塊的輸入端,用于MCU通知模塊,MCU是否準(zhǔn)備好,模塊是否可向MCU發(fā)送信息,RTS的有效電平為低。

CTS:是模塊的輸出端,用于模塊通知MCU,模塊是否準(zhǔn)備好,MCU是否可向模塊發(fā)送信息,CTS的有效電平為低

RTS (Require ToSend,發(fā)送請求)為輸出信號,用于指示本設(shè)備準(zhǔn)備好可接收數(shù)據(jù),低電平有效,低電平說明本設(shè)備可以接收數(shù)據(jù)。

CTS (Clear ToSend,發(fā)送允許)為輸入信號,用于判斷是否可以向?qū)Ψ桨l(fā)送數(shù)據(jù),低電平有效,低電平說明本設(shè)備可以向?qū)Ψ桨l(fā)送數(shù)據(jù)。

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);

上面配置代碼中有一個參數(shù):

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

其實(shí)這個參數(shù)可以為:

#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這兩個引腳為硬件流控的功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2309

    文章

    11162

    瀏覽量

    373414
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    202

    瀏覽量

    33161
  • RTS
    RTS
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    14977
  • CTS
    CTS
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    15346
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    LAT1171+STM32F745 USART1 Bootloader 失敗原因分析與解決

    STM32 的 Bootloader 可以支持多種協(xié)議的,比如 USART,I2C,DFU 等等,USARTBootloader 是客戶使用 STM32 的時候常常會用到的協(xié)議。客戶在
    發(fā)表于 01-11 17:33 ?0次下載

    探索RTS系列環(huán)形端子溫度傳感器:設(shè)計(jì)與應(yīng)用的理想之選

    探索RTS系列環(huán)形端子溫度傳感器:設(shè)計(jì)與應(yīng)用的理想之選 在電子設(shè)備的設(shè)計(jì),精確的溫度測量至關(guān)重要。今天我們要深入了解的是Amphenol Advanced Sensors的RTS系列環(huán)形端子溫度
    的頭像 發(fā)表于 12-11 11:00 ?387次閱讀

    USART1、USART2、UART3的串口使用

    _PM_NONE); usart_stop_bit_set(com, USART_STB_1BIT);usart_hardware_flow_rts_config(com, USART_RTS
    發(fā)表于 10-31 09:05

    RVMCU課堂「13」: 手把手教你玩轉(zhuǎn)RVSTAR—UART通信篇

    通過全雙工或半雙工,同步或異步的方式進(jìn)行傳輸。USART提供了可編程的波特率發(fā)生器及奇偶校驗(yàn)位、數(shù)據(jù)位和停止位等可編程的串口特性。它還支持多處理器通信、多種狀態(tài)標(biāo)志和硬件流控操作(CTS/RTS
    發(fā)表于 10-31 07:02

    STM32串口發(fā)送數(shù)據(jù),USART_FLAG_TC無法置位怎么解決?

    STM32串口發(fā)送數(shù)據(jù),在經(jīng)過一段時間的數(shù)據(jù)發(fā)送,大概200ms發(fā)送一下,一次發(fā)送大概二三十個字節(jié)的數(shù)據(jù),有可能會發(fā)生USART_FLAG_TC不置位的情況,如何解決或者避免?輪詢發(fā)送,后卡在了
    發(fā)表于 07-29 11:44

    請問如何為CYW5591x串行啟用具有流控制的Uart?

    BT_GPIO_2 #定義 MCU_RTS BT_GPIO_7 #定義 MCU_CTS BT_GPIO_17 /*初始化外部MCU的UART外設(shè)*/ cyhal_uart_init(&
    發(fā)表于 07-17 06:53

    CYW20719B2接收uart時意外重置了,怎么解決?

    。 //設(shè)置 RTS,CTS wiced_hal_puart_select_uart_pads ( #if 1 WICED_P04,//目標(biāo) #else WICED_PUART_RXD,//evboart
    發(fā)表于 07-07 06:56

    CYW20704 的 UART 4 針(TX/RX/CTS/RTS)是什么形式(推拉或漏極開路)嗎?

    你知道 CYW20704 的 UART 4 針(TX/RX/CTS/RTS)是什么形式(推拉或漏極開路)嗎?
    發(fā)表于 07-04 07:34

    AS32X601驅(qū)動系列教程 USART_串口通訊詳解

    USART 不僅支持同步單向通信和半雙工單線通信,以及 LIN(局域互連網(wǎng)絡(luò))和調(diào)制解調(diào)器操作 (CTS/RTS) 通過配置多個緩沖區(qū)使用 DMA(直接存儲器訪問)可實(shí)現(xiàn)高速數(shù)據(jù)通信,其通信數(shù)據(jù)格式如下: 硬件設(shè)計(jì) 評估板板
    的頭像 發(fā)表于 05-23 16:54 ?890次閱讀
    AS32X601驅(qū)動系列教程 <b class='flag-5'>USART</b>_串口通訊詳解

    CY7C65223-24LTXI不使用流量控制功能時,RTSCTS 引腳是否應(yīng)處于打開狀態(tài)?

    請告訴我有關(guān) CY7C65223-24LTXI 的引腳處理的信息。 不使用流量控制功能時,RTSCTS 引腳是否應(yīng)處于打開狀態(tài)?
    發(fā)表于 05-23 07:56

    在i.MX93和i.MX8M Plus上都使用UART,遇到了RTS/CTS連接問題求解決

    (RS232) CTSRTS (RS232) RTSCTS (RS232) 然而,在 i.MX8M Plus 上,這種布線不起作用
    發(fā)表于 04-04 07:16

    STM32學(xué)習(xí)USART之基礎(chǔ)篇(可下載)

    今天分享 USART 設(shè)計(jì)前的基礎(chǔ)知識我們先來了解一下有關(guān)通信的基本概念:通信:兩個設(shè)備之間進(jìn)行數(shù)據(jù)交換時,稱這個過程為兩個設(shè)備間的通信并行通信:設(shè)備之間的數(shù)據(jù)是以一位一位的二進(jìn)制數(shù)進(jìn)行傳輸?shù)?,并?/div>
    發(fā)表于 03-31 15:07 ?4次下載

    STM32F107的USART2為什么進(jìn)不了中斷?

    的時鐘源, 否則串口波特率就會設(shè)置異常. *這里的USART的時鐘源在sys_stm32_clock_init()函數(shù)已經(jīng)設(shè)置過了. * @retval無 */ void usart
    發(fā)表于 03-14 16:57

    stm32g0b1usart5進(jìn)不去HAL_UARTEx_RxEventCallback,為什么?

    請教一下關(guān)于stm32g系列的問題,stm32g0b1usart5進(jìn)不去HAL_UARTEx_RxEventCallback,cudemx上配置跟其他串口也是一樣的,都打開中斷了,
    發(fā)表于 03-13 06:51

    STM32CubeMX生成STM32mp135D的USART1,2,3,6代碼初始化是空的,為什么?

    HAL_USART_Receive_IT接口無法觸發(fā)中斷。請問下STM32MP135的HAL庫,USART的部分代碼是不是有缺陷,不能使用?
    發(fā)表于 03-07 07:48