一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲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)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2295

    文章

    11032

    瀏覽量

    365217
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    201

    瀏覽量

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

    關(guān)注

    0

    文章

    23

    瀏覽量

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

    關(guān)注

    0

    文章

    35

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    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è)計 評估板板
    的頭像 發(fā)表于 05-23 16:54 ?364次閱讀
    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

    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

    RTS5876主控手冊

    電子發(fā)燒友網(wǎng)站提供《RTS5876主控手冊.pdf》資料免費(fèi)下載
    發(fā)表于 03-04 15:02 ?1次下載

    如何使用DMA進(jìn)行USART不定長度接收

    在上一講,我們對USART進(jìn)行了簡單介紹,并講解了如何在不使用DMA的情況下進(jìn)行不定長度數(shù)據(jù)接收,本講將著重講解如何使用DMA進(jìn)行USART不定長度接收。
    的頭像 發(fā)表于 02-18 17:01 ?935次閱讀
    如何使用DMA進(jìn)行<b class='flag-5'>USART</b>不定長度接收

    CKS32F107xx系列USART的特性和功能

    和半雙工單線通信,也支持LIN(局部互連網(wǎng)),智能卡協(xié)議和IrDA(紅外數(shù)據(jù)組織)SIRENDEC規(guī)范,以及調(diào)制解調(diào)器(CTS/RTS)操作。它還允許多處理器通信。使用多緩沖器配置的DMA方式,可以實(shí)現(xiàn)高速數(shù)據(jù)通信。
    的頭像 發(fā)表于 02-18 16:58 ?758次閱讀

    迅為RK3568開發(fā)板篇Openharmony配置HDF控制UART-什么是串口

    ,停止位)等。通信過程,串口通過 TX 發(fā)送給對端數(shù)據(jù),通過 RX 接收對端發(fā)送的數(shù)據(jù)。當(dāng)串口接收緩存達(dá)到預(yù)定的門限值時,RTS 變?yōu)椴豢砂l(fā)送數(shù)據(jù),對端的 CTS 檢測到不可發(fā)送數(shù)據(jù),則停止發(fā)送數(shù)據(jù)。
    發(fā)表于 02-14 11:39

    CTS MicroStar BGA停產(chǎn)并重新設(shè)計

    電子發(fā)燒友網(wǎng)站提供《CTS MicroStar BGA停產(chǎn)并重新設(shè)計.pdf》資料免費(fèi)下載
    發(fā)表于 11-24 14:24 ?0次下載
    <b class='flag-5'>CTS</b> MicroStar BGA停產(chǎn)并重新設(shè)計

    拉普拉斯變換的作用意義

    拉普拉斯變換在工程數(shù)學(xué)是一種重要的積分變換,其作用意義主要體現(xiàn)在以下幾個方面: 作用 簡化求解過程 : 微分方程轉(zhuǎn)換為代數(shù)方程 :拉普拉斯變換可以將時域中的微分方程轉(zhuǎn)換為復(fù)頻域中的
    的頭像 發(fā)表于 08-09 09:40 ?2854次閱讀

    stm32f407的drv_usart.c文件編譯錯誤怎么解決?

    stm32f407的drv_usart.c文件編譯錯誤 static rt_err_t stm32_configure(struct rt_serial_device *serial, struct
    發(fā)表于 07-25 06:51