STM32的USART中RTS、CTS的作用和意义
USART中RX和TX這兩個(gè)引腳的功能,這兩個(gè)引腳是USART串行通信最常見和必不可少的兩個(gè)引腳。但我們?cè)谑謨?cè)中會(huì)發(fā)現(xiàn)關(guān)于USART的其他引腳:USART_CK、USART_RTS、USART_CTS,如下圖:
Ⅱ、關(guān)于DB9串口接頭
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ù)可以為:
#define USART_HardwareFlowControl_None ? ? ? ((uint16_t)0x0000)
#define USART_HardwareFlowControl_RTS ? ? ? ?((uint16_t)0x0100)
#define USART_HardwareFlowControl_CTS ? ? ? ?((uint16_t)0x0200)
#define USART_HardwareFlowControl_RTS_CTS ? ?((uint16_t)0x0300)
也就是可以配置使用RTS和CTS這兩個(gè)引腳為硬件流控的功能。
Ⅴ、最后
?UART和USART:
UART:通用異步收發(fā)器
USART:通用同步/異步收發(fā)器,其可選使用異步方式,那將和UART無區(qū)別,如果是同步,則需要多一根時(shí)鐘線(USART_CK)
STM32的USART注意:
通常USART1接口的通信速率較快,其它USART接口較慢。如STM32F103C8T6的USART1接口通信速率是4.5Mbps,其它USART接口的通信速率是2.25Mbps。片上所有的USART接口都可以使用DMA操作。
UART和COM是物理接口形式(物理接口)
TTL和RS-232是電平標(biāo)準(zhǔn)(電信號(hào))
默認(rèn)的TX GPIO:? 模式為:推挽式復(fù)用功能? ? 輸出速率:高速
默認(rèn)的RX GPIO:?模式為:浮空輸入
總結(jié)
以上是生活随笔為你收集整理的STM32的USART中RTS、CTS的作用和意义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows更新策略配置
- 下一篇: 总结最近关于pi的一些问题