寫在前面 Ⅰ
我們都知道USART中RX和TX這兩個(gè)引腳的功能,這兩個(gè)引腳是USART串行通信最常見和必不可少的兩個(gè)引腳。但我們?cè)谑謨?cè)中會(huì)發(fā)現(xiàn)關(guān)于USART的其他引腳:USART_CK、USART_RTS、USART_CTS,如下圖:
但我們大部分都沒怎么使用過USART_RTS和USART_CTS這兩個(gè)引腳。下面將給大家簡(jiǎn)單講述一下關(guān)于USART串口拓展的知識(shí)。
關(guān)于DB9串口接頭 Ⅱ
我們都聽說過RS232,說232就知道DB9這個(gè)串口接頭。
DB9個(gè)引腳的功能:
1 CD ← Carrier Detect 載波檢測(cè)
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 請(qǐng)求發(fā)送
8 CTS ← Clear To Send 允許發(fā)送
9 RI → 這個(gè)好像是什么提示信號(hào)
相信大家都知道DB9這個(gè)標(biāo)準(zhǔn)的串口接頭,但我們大部分就只用RX、TX和GND這三個(gè)引腳,其他引腳都不關(guān)心,或者都不知道是什么意思,相信看了引腳定義之后,大概有所理解。
RTS CTS Ⅲ
在ARM處理器中的USART中,基本上都具有硬件流控的功能,也就是說一般都有RTS CTS引腳(注意:功能簡(jiǎn)單一點(diǎn)的處理器,如51、STM8等,很少有串口硬件流控功能)。
RTS:是模塊的輸入端,用于MCU通知模塊,MCU是否準(zhǔn)備好,模塊是否可向MCU發(fā)送信息,RTS的有效電平為低。
CTS:是模塊的輸出端,用于模塊通知MCU,模塊是否準(zhǔn)備好,MCU是否可向模塊發(fā)送信息,CTS的有效電平為低
RTS (Require ToSend,發(fā)送請(qǐng)求)為輸出信號(hào),用于指示本設(shè)備準(zhǔn)備好可接收數(shù)據(jù),低電平有效,低電平說明本設(shè)備可以接收數(shù)據(jù)。
CTS (Clear ToSend,發(fā)送允許)為輸入信號(hào),用于判斷是否可以向?qū)Ψ桨l(fā)送數(shù)據(jù),低電平有效,低電平說明本設(shè)備可以向?qū)Ψ桨l(fā)送數(shù)據(jù)。
STM32中硬件流控配置 Ⅳ
我們配置串口時(shí),有如下一段配置代碼:
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);
上面配置代碼中有一個(gè)參數(shù):
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
其實(shí)這個(gè)參數(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這兩個(gè)引腳為硬件流控的功能。
-
STM32
+關(guān)注
關(guān)注
2289文章
11011瀏覽量
362315 -
USART
+關(guān)注
關(guān)注
1文章
200瀏覽量
31615 -
RTS
+關(guān)注
關(guān)注
0文章
23瀏覽量
14599 -
CTS
+關(guān)注
關(guān)注
0文章
35瀏覽量
14375
發(fā)布評(píng)論請(qǐng)先 登錄
AS32X601驅(qū)動(dòng)系列教程 USART_串口通訊詳解

CY7C65223-24LTXI不使用流量控制功能時(shí),RTS 和 CTS 引腳是否應(yīng)處于打開狀態(tài)?
在i.MX93和i.MX8M Plus上都使用UART,遇到了RTS/CTS連接問題求解決
stm32g0b1中的usart5進(jìn)不去HAL_UARTEx_RxEventCallback,為什么?
CKS32F107xx系列USART的特性和功能
CTS MicroStar BGA停產(chǎn)并重新設(shè)計(jì)

stm32f407的drv_usart.c文件編譯錯(cuò)誤怎么解決?
在ESP8266中使用RTS線路時(shí)遇到的疑問求解
ESP8266是否支持RTS/CTS機(jī)制?
如何在UART0上使用RTS/CTS和ESP8266?
振弦采集儀在大型工程安全監(jiān)測(cè)中的作用與意義

評(píng)論