精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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
    +關注

    關注

    2266

    文章

    10876

    瀏覽量

    354923
  • USART
    +關注

    關注

    1

    文章

    195

    瀏覽量

    30795
  • RTS
    RTS
    +關注

    關注

    0

    文章

    21

    瀏覽量

    14313
  • CTS
    CTS
    +關注

    關注

    0

    文章

    35

    瀏覽量

    14063
收藏 人收藏

    評論

    相關推薦

    CTS MicroStar BGA停產并重新設計

    電子發燒友網站提供《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 ?212次閱讀
    振弦采集儀在大型工程安全監測<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 ?595次閱讀

    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.8w次閱讀
    uart與<b class='flag-5'>usart</b>區別 <b class='flag-5'>usart</b>可以當uart用嗎