国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373471
  • USART
    +關注

    關注

    1

    文章

    202

    瀏覽量

    33167
  • RTS
    RTS
    +關注

    關注

    0

    文章

    23

    瀏覽量

    14977
  • CTS
    CTS
    +關注

    關注

    0

    文章

    35

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    探索RTS系列環形端子溫度傳感器:設計與應用的理想之選

    探索RTS系列環形端子溫度傳感器:設計與應用的理想之選 在電子設備的設計,精確的溫度測量至關重要。今天我們要深入了解的是Amphenol Advanced Sensors的RTS系列環形端子溫度
    的頭像 發表于 12-11 11:00 ?388次閱讀

    USART1、USART2、UART3的串口使用

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

    RVMCU課堂「13」: 手把手教你玩轉RVSTAR—UART通信篇

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

    STM32串口發送數據,USART_FLAG_TC無法置位怎么解決?

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

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

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

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

    。 //設置 RTSCTS wiced_hal_puart_select_uart_pads ( #if 1 WICED_P04,//目標 #else WICED_PUART_RXD,//evboart
    發表于 07-07 06:56

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

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

    如何對CYBT-223058-02模塊(非 EVAL)進行編程?

    我已經下載了ModusToolbox,啟動了一個新的應用程序,但沒有選擇 CYBT-223058-02模塊的選項。只有 EVAL 板。 我應該如何對模塊進行編程? 我有一根帶有 CTSRTS、TX
    發表于 07-04 06:27

    AS32X601驅動系列教程 USART_串口通訊詳解

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

    CY7C65223-24LTXI不使用流量控制功能時,RTSCTS 引腳是否應處于打開狀態?

    請告訴我有關 CY7C65223-24LTXI 的引腳處理的信息。 不使用流量控制功能時,RTSCTS 引腳是否應處于打開狀態?
    發表于 05-23 07:56

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

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

    STM32學習USART之基礎篇(可下載)

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

    STM32F107的USART2為什么進不了中斷?

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

    stm32g0b1usart5進不去HAL_UARTEx_RxEventCallback,為什么?

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