寫在前面 Ⅰ
我們都知道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
+關注
關注
0文章
21瀏覽量
14313 -
CTS
+關注
關注
0文章
35瀏覽量
14063
發布評論請先 登錄
相關推薦
評論