<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > STM32F10xxx架構:通用同步異步收發(fā)器USART--USART通用

STM32F10xxx架構:通用同步異步收發(fā)器USART--USART通用

作者: 時(shí)間:2016-11-10 來(lái)源:網(wǎng)絡(luò ) 收藏
USART簡(jiǎn)介:
USART利用分數波特率發(fā)生器提供寬范圍的波特率選擇。支持同步單向通信和半雙工單線(xiàn)通信,也支持LIN(局部互聯(lián)網(wǎng))、智能卡協(xié)議、IrDA(紅外數據組織)SIR ENDEC規范、調制解調器(CTS/RTS)操作。允許多處理器通信。使用多級緩沖配置的DMA方式,可以實(shí)現高速數據通信。
USART主要特性:
全雙工異步通信,NRZ標準格式,分數波特率發(fā)生器系統(發(fā)生和接收共用的可編程波特率,最高達4.5Mbits/s),8-9位數據長(cháng)度,1-2位停止位,LIN主發(fā)送同步斷開(kāi)符的能力及LIN從檢測斷開(kāi)符的能力(當配置成LIN時(shí)生成13位斷開(kāi)符,檢測10/11位斷開(kāi)符),發(fā)送方為同步傳輸提供時(shí)鐘,IRDA SIR編解碼器(正常模式下支持3/16位持續時(shí)間),智能卡模擬功能(支持ISO7816-3標準的異步智能卡協(xié)議,用到0.5/1.5個(gè)停止位),單線(xiàn)半雙工通信,可配置的使用DMA的多緩沖器通信(在SRAM里利用集中式DMA緩沖接收/發(fā)送字節),單獨的發(fā)送器和接收器使能位,檢測標志(接收緩沖器滿(mǎn),發(fā)送緩沖器空,傳輸結束標志),校驗控制(發(fā)送校驗位,對接收數據進(jìn)行校驗),四個(gè)錯誤檢測標志(溢出,噪音,幀錯誤,校驗錯誤),10個(gè)帶標志中斷源(CTS改變,LIN斷開(kāi)符檢測,發(fā)送數據寄存器空,發(fā)送完成,接收數據寄存器滿(mǎn),檢測到總線(xiàn)為空閑,溢出錯誤,幀錯誤,噪音錯誤,校驗錯誤),多處理器通信(如果地址不匹配,則進(jìn)入靜默模式),從靜默模式中喚醒(通過(guò)總線(xiàn)檢測和地址標志檢測),兩種喚醒接收器的方式(地址位MSB 第9位,總線(xiàn)空閑)。
USART功能概述:
1、USART雙向通信至少需要兩個(gè)腳:RX(接收數據輸入)、TX(發(fā)送數據輸出)。
RX:接收數據串行輸入,通過(guò)采樣技術(shù)來(lái)區別數據和噪音,從而恢復數據。
TX:發(fā)送數據輸出,當發(fā)送器被禁止時(shí),輸出引腳恢復到它的IO端口配置。當發(fā)送器被激活并且不發(fā)送數據時(shí),TX引腳處于高電平。在單線(xiàn)和智能卡模式里,此引腳被同時(shí)用于數據的發(fā)送和接收。
總線(xiàn)在發(fā)送和接收前應處于空閑狀態(tài),起始位(1個(gè)),數據位(1個(gè),8-9位,最低有效位在前),停止位(0.5,1.5,2位,表明數據幀結束),分數波特率發(fā)生器(12位整數和4位小數的表示方法),狀態(tài)寄存器1個(gè)(USART_SR),數據寄存器1個(gè)(USART_DR),波特率寄存器1個(gè)(USART_BRR,12位整數和4位小數)。一個(gè)智能卡模式下的保護時(shí)間寄存器(USART_GTPR)。
2、USART工作于同步模式時(shí),需要一個(gè)引腳:CK。
CK:發(fā)送器時(shí)鐘的輸出,此引腳輸出用于同步傳輸的時(shí)鐘。在start和stop位上沒(méi)有時(shí)鐘脈沖,軟件可選地,可以在最后一個(gè)數據位送出一個(gè)時(shí)鐘脈沖。數據可以在RX上同步被接收。這可以用來(lái)控制帶移位寄存器的外部設備(例如LCD驅動(dòng)器),時(shí)鐘相位和極性都是軟件可編程的。在智能卡模式里,CK可以為智能卡提供時(shí)鐘。
3、USART工作于IRDA模式時(shí),需要兩個(gè)引腳:IRDA_RDI(數據輸入),IRDA_TDO(數據輸出)
4、USART工作于硬件流控模式時(shí),需要兩個(gè)引腳:nCTS,nRTS。
nCTS:清除發(fā)送,若是高電平,在當前數據傳輸結束時(shí)阻斷下一次的數據發(fā)送。
nRTS:發(fā)送請求,若是低電平,表明USART準備好接受數據。
USART特性描述:
字長(cháng)可以通過(guò)編程USART_CR1寄存器中的M位,選擇成8位或者9位。在起始位期間,TX腳處于低電平,在停止位期間處于高電平。
空閑符號被視為完全由“1”組成的完整的數據幀,后面跟著(zhù)包含了數據的下一幀的開(kāi)始位(“1”的位數也包含了停止位的位數)。
斷開(kāi)符號被視為在一個(gè)幀周期內全部接收到“0”(包括停止位期間,也是“0”)。在斷開(kāi)幀結束時(shí),發(fā)送器再插入1或2個(gè)停止位(“1”)來(lái)應答起始位。
發(fā)送和接收由一共用的波特率發(fā)生器驅動(dòng),當發(fā)送器和接收器的使能分別置位時(shí),分別為其產(chǎn)生時(shí)鐘。
USART寄存器描述:
1、USART狀態(tài)寄存器(USART_SR)
1】地址偏移:0x00,復位值:0x00C0
2】位31-位10:保留位,硬件強制為0
位9:CTS(CTS標志位):在USART4和USART5上不存在這一位。參照上文所述的硬件流模式(USART功能概述里面)。如果設置了“CTSE位”,當nCTS輸入變化狀態(tài)時(shí),該位被硬件置高。由軟件將其清零。如果USART_CR3中的CTSIE為“1”,則產(chǎn)生中斷。 置為0時(shí),表示nCTS狀態(tài)線(xiàn)上沒(méi)有變化,置為1時(shí),表示nCTS狀態(tài)線(xiàn)上發(fā)生變化。
位8:LBD(LIN斷開(kāi)檢測標志):當探測到LIN斷開(kāi)時(shí),該位由硬件置“1”,由軟件清“0”(向該位寫(xiě)0)。如果USART_CR3中的LBDIE為“1”,則產(chǎn)生中斷。 置為0時(shí),表示沒(méi)有檢測到LIN斷開(kāi),置為1時(shí),表示檢測到LIN斷開(kāi)。
位7:TXE(發(fā)送數據寄存器空):當TDR寄存器中的數據被硬件轉移到移位寄存器的時(shí)候,該位被硬件置位,如果USART_CR1寄存器的TXEIE為1,則產(chǎn)生中斷。對USART_DR的寫(xiě)操作,將該位清零。注意在單緩沖器傳輸中使用該位。 置為0時(shí)表示數據還沒(méi)有被轉移到移位寄存器,置為1時(shí),表示數據已經(jīng)被轉移到移位寄存器。
位6:TC(發(fā)送完成):當包含數據的一幀發(fā)送完成后,并且TXE=1時(shí),由硬件將該位置1。如果USART_CR1中的TCIE為1,則產(chǎn)生中斷。由軟件序列清除該位(先讀USART_SR,然后寫(xiě)入USART_DR)。TC位也可以通過(guò)寫(xiě)“0”來(lái)清除,只有在多緩沖通訊中才推薦這種清除程序。置為0時(shí),表示發(fā)送未完成,置為1時(shí),表示發(fā)送完成。
位5:RXNE(讀數據寄存器非空):當RDR移位寄存器中的數據被轉移到USART_DR寄存器中,該位被硬件置位。如果USART_CR1寄存器中的RXNEIE為1,則產(chǎn)生中斷。對USART_DR的讀操作可以將該位清0。RXNE位也可以通過(guò)寫(xiě)0來(lái)清除,只有在多緩沖通訊錄中才推薦這種清除程序。置為0表示數據沒(méi)有收到,置為1表示收到數據,且可以讀出。
位4:IDLE(檢測到總線(xiàn)空閑):當檢測到總線(xiàn)空閑時(shí),該位被硬件置位。如果USART_CR1中的IDLEIE為1,則產(chǎn)生中斷。由軟件序列清除該位(先讀USART_SR,然后讀USART_DR)。置為0時(shí),表示沒(méi)有檢測到空閑總線(xiàn),為1時(shí)表示檢測到空閑總線(xiàn)。備注:IDLE位不會(huì )被置高直到RXNE位被置起(即又一次檢測到空閑總線(xiàn))
位3:ORE(過(guò)載錯誤):當RXNE仍然是1的時(shí)候,當前被接收在移位寄存器中的數據,需要傳送至RDR寄存器時(shí),硬件將該位置位。如果USART_CR1中的RXNEIE為1的話(huà),則產(chǎn)生中斷。由軟件序列將其清零(先讀USART_SR,然后讀USART_CR)。置為0時(shí)表示沒(méi)有過(guò)載錯誤,置為1時(shí)表示檢測到過(guò)載錯誤。備注:如果該位被置位時(shí),RDR寄存器的值不會(huì )丟失。但是移位寄存器中的數據會(huì )被覆蓋。如果設置了EIE位,在多緩沖器通信模式下,ORE標志置位會(huì )產(chǎn)生中斷。
位2:NE(噪聲錯誤標志):當接收到的幀檢測到噪音時(shí),由硬件對該位置位。由軟件序列對其清零(先讀USART_SR,然后讀USART_DR)。置為0時(shí)表示沒(méi)有檢測到噪聲,置為1時(shí)表示檢測到噪聲。備注:該位不會(huì )產(chǎn)生中斷,因為它和RXNE一起出現,硬件會(huì )在設置RXNE標志時(shí)產(chǎn)生中斷。在多緩沖區通信模式下,如果設置了EIE位,則設置NE標志時(shí)會(huì )產(chǎn)生中斷。
位1:FE(幀錯誤):當檢測到同步錯位,過(guò)多的噪聲或者檢測到斷開(kāi)符,該位被硬件置位,由軟件序列將其清零,先讀USART_SR,再讀USART_DR。為0時(shí)表示沒(méi)有檢測到幀錯誤,為1時(shí)表示檢測到幀錯誤或者break符。備注:該位不會(huì )產(chǎn)生中斷,因為它和RXNE一起出現,硬件會(huì )在設置RXNE標志時(shí)產(chǎn)生中斷。如果當前傳輸的數據既產(chǎn)生了幀錯誤,又產(chǎn)生了過(guò)載錯誤,硬件還是會(huì )擠出該數據的傳輸,并且只設置ORE標志位。在多緩沖區通信模式下,如果設置了EIE位,則設置FE標志會(huì )產(chǎn)生中斷。
位0:PE(校驗錯誤):在接收模式下,如果出現奇偶校驗錯誤,硬件對該位置位。由軟件序列對其清零(依次讀USART_SR和USART_DR)。在清除PE位前,軟件必須等待RXNE標志位被置“1”。如果USART_CR1中的PEIE為“1”,則產(chǎn)生中斷。置為0時(shí)表示沒(méi)有奇偶校驗錯誤,置為1時(shí)表示存在奇偶校驗錯誤。
2、USART數據寄存器(USART_DR)
1】地址偏移:0x04,復位值:不定
2】位31-9:保留位,硬件強制為0;
位8-0:DR[8:0],數據值。包含了發(fā)送和接收的數據。由于它是由兩個(gè)寄存器組成的,一個(gè)給發(fā)送用(TDR),一個(gè)給接受用(RDR),該寄存器兼具讀和寫(xiě)的功能。TDR寄存器提供了內部總線(xiàn)和輸出移位寄存器之間的并行接口。RDR寄存器提供了輸出移位寄存器和內部總線(xiàn)之間的并行接口。當使能校驗位(USART_CR1中的PCE位被置位)進(jìn)行發(fā)送時(shí),寫(xiě)到MSB的值(根據數據長(cháng)度不同,MSB是第7位或者第8位)會(huì )被后來(lái)的校驗位所取代。當使能校驗位進(jìn)行接收時(shí),讀到MSB位時(shí)接收到的校驗位。
3、波特比率寄存器(USART_BRR)
1】地址偏移:0x08,復位值:0x0000
2】位31-16:保留位,硬件強制置為0;
位15-4:DIV_Mantissa[11:0],USARTDIV的整數部分。這12位定義了USART分頻器除法因子(USARTDIV)的整數部分。
位3-0:DIV_Fraction[3:0],USARTDIV的小數部分。
分數波特率的產(chǎn)生:
接收器和發(fā)送器的波特率在USARTDIV的整數和小數寄存器中的值應設置成相同。
Tx/Rx 波特率 = fck/(16*USARTDIV)
這里的fck是給外設的時(shí)鐘(PCLK1用于USART2,3,4,5),(PCLK2用于USART1)。
USARTDIV是一個(gè)無(wú)符號的定點(diǎn)數,則12位的值設置在USART_BRR寄存器。備注在寫(xiě)入USART_BRR之后,波特率計數器會(huì )被波特率寄存器的值所替換。因此,不要再通信進(jìn)行中改變波特率寄存器的數值。
從USART_BRR寄存器得到USARTDIV
例1:若DIV_Mantissa = 27,DIV_Fraction=12(USART_BRR = 0x1BC),則:
Mantissa(USARTDIV) = 27
Fraction(USARTDIV) = 12/16 = 0.75
所以此時(shí)USARTDIV = 27.75
例2:要求USARTDIV = 25.62,則:
DIV_Fraction = 16*0.62 = 9.92,最接近的整數是10 = 0x0A
DIV_Mantissa = mantissa(25.620) = 25 = 0x19
于是USART_BRR = 0x19A
例3:要求USARTDIV = 50.99,則:
DIV_Fraction = 16*0.99 = 15.84,最接近的整數是16 = 0x10 => DIV_frac[3:0]溢出 => 進(jìn)位必須加到小數部分。
DIV_Mantissa = mantissa(50.990+進(jìn)位) = 51 = 0x33
于是USART_BRR = 0x330,USARTDIV = 51
4、控制寄存器1(USART_CR1)
1】地址偏移:0x0C,復位值:0x0000
2】位31-14:保留位,硬件強制為0
位13:UE(USART使能):當該位被清零,在當前字節傳輸完成后的USART的分頻器和輸出停止工作,以減少功耗。該位由軟件設置和清零。置0時(shí),USART分頻器和輸出被禁止,置1時(shí),USART模塊使能。
位12:M(字長(cháng)):該位定義了數據字的長(cháng)度,由軟件對其設置和清零。置為0時(shí)表示一個(gè)起始位,8個(gè)數據位,n個(gè)停止位。置位1時(shí),表示一個(gè)起始位,9個(gè)數據位,n個(gè)停止位。注意在數據傳輸過(guò)程中(發(fā)送和接收時(shí))不能修改這個(gè)位。
位11:WAKE(喚醒的方法):該位決定了把USART喚醒的方法,由軟件對該位設置和清零。為0時(shí),表示被空閑總線(xiàn)喚醒,為1時(shí)表示被地址標記喚醒。
位10:PCE(檢驗控制使能):用該位選擇是否進(jìn)行硬件校驗控制(對于發(fā)送來(lái)說(shuō)就是校驗位的產(chǎn)生,對于接受來(lái)說(shuō),就是校驗位的檢測)。當使能了該位,在發(fā)送數據的最高位(如果M=1,最高位是第9位,如果M是0,最高位是第8位)插入校驗位。對接受到的數據檢查其檢驗位。軟件對它置“1”或者清“0”,一旦設置了該位,當前直接傳輸完成后,校驗控制才生效。置0時(shí)表示禁止校驗控制,置為1時(shí)表示使能校驗控制。
位9:PS(校驗選擇):當校驗控制使能后,該位用來(lái)選擇采用偶校驗還是奇校驗。軟件對它置1或清0.當前字節傳輸完成后,該選擇生效。置為0時(shí)表示為偶校驗,置為1時(shí)表示為奇校驗。
位8:PEIE(PE中斷使能):該位由軟件設置或清除。置為0時(shí)禁止產(chǎn)生中斷,置為1時(shí),當USART_SR中的PE為“1”時(shí),產(chǎn)生USART中斷。
位7:TXEIE(發(fā)送緩沖區空中斷使能):該位由如軟件設置或清除。為0時(shí)禁止產(chǎn)生中斷,為1時(shí),當USART_SR中的TXE為“1”時(shí),產(chǎn)生USART中斷。
位6:TCIE(發(fā)送完成中斷使能):該位由軟件設置或清除。置為0時(shí)表示禁止產(chǎn)生中斷,置為1時(shí)表示當USART_SR中的ORE或者RXNE為1時(shí),產(chǎn)生USART中斷。
位5:RXNEIE(接收緩沖區非空中斷使能):該位由軟件設置或清除,為0時(shí)表示禁止產(chǎn)生中斷,為1時(shí)表示當USART_SR中的IDLE為1時(shí),產(chǎn)生USART中斷。
位4:IDLEIE(IDLE,總線(xiàn)空閑中斷使能):該位由軟件設置或清除。當為0時(shí)表示禁止產(chǎn)生中斷,為1時(shí)當USART_SR中的IDLE為1時(shí),產(chǎn)生USART中斷。
位3:TE(發(fā)送使能):該位使能發(fā)送器,由軟件設置或清除。為0時(shí)表示禁止發(fā)送,為1時(shí)表示使能發(fā)送。備注在數據傳輸過(guò)程中,除了在智能卡模式下,如果TE位上有個(gè)0脈沖(即設置為“0”之后,再設置為“1”),會(huì )在當前數據字傳輸完成后,發(fā)送一個(gè)前導符(空閑總線(xiàn))。另外,在當TE被設置后,在真正的數據發(fā)送開(kāi)始前,有一個(gè)比特時(shí)間的延遲。
位2:RE(接收使能):該位由軟件設置或清除。當設置為0時(shí),禁止接收,當設置為1時(shí),使能接收并開(kāi)始搜尋RX引腳上的起始位。
位1:RWU(接收喚醒):該位用來(lái)決定是否把USART設置為靜默模式。該位由軟件設置或清除,當喚醒序列到來(lái)時(shí),硬件也會(huì )將其清零。置為0時(shí)表示接收器處于正常工作模式,置為1時(shí),表示接收器處于靜默模式。備注,在把USART置于靜默模式(設置RWU位)之前,USART要已經(jīng)先接受了一個(gè)數據字節,否則在靜默模式下,不能被空閑總線(xiàn)檢測喚醒。另外當配置為地址標記檢測喚醒(wake位 = 1),在RXNE位被置位時(shí),不能用軟件修改RWU位。
位0:SBK(發(fā)送斷開(kāi)幀):使用該位來(lái)發(fā)送斷開(kāi)字符,該位可以由軟件設置或清除。操作過(guò)程應該是軟件設置位,然后再斷開(kāi)幀的停止位時(shí),由硬件將其復位。當該位被設置為0時(shí),表示沒(méi)有發(fā)送斷開(kāi)字符,當設置為1時(shí),表示將要發(fā)送斷開(kāi)字符。
5、控制寄存器2(USART_CR2)
1】地址偏移:0x10,復位值:0x0000
2】位31-15:保留位,硬件強制為0;
位14:LINEN(LIN模式使能):該位由軟件設置或清除。設置為0表示禁止LIN模式,設置為1表示使能LIN模式。在LIN模式下,可以用USART_CR1寄存器中的SBK位發(fā)送LIN斷開(kāi)符(低13位),以及檢測LIN同步斷開(kāi)符。
位13-12:STOP(停止位):這兩位用來(lái)設置停止位的位數。00表示一個(gè)停止位,01表示0.5個(gè)停止位,10表示2個(gè)停止位,11表示1.5個(gè)停止位。備注:USART4和USART5不能用0.5停止位和1.5停止位。
位11:CLKEN(時(shí)鐘使能):用來(lái)使能CK引腳。為0時(shí)表示禁止CK引腳,為1表示使能CK引腳。備注,在USART4和USART5上不存在這一位。
位10:CPOL(時(shí)鐘極性):在同步模式下,可以用該位選擇SLCK引腳上時(shí)鐘輸出的極性。和CPHA位一起配合來(lái)產(chǎn)生需要的時(shí)鐘/數據采樣關(guān)系。為0時(shí)表示總線(xiàn)空閑時(shí)CK引腳上保持低電平。為1時(shí)表示總線(xiàn)空閑時(shí)CK引腳上保持高電平。USART4和USART5上不存在這一位。
位9:CPHA(時(shí)鐘相位):在同步模式下,可以用該位選擇SLCK引腳上時(shí)鐘輸出的相位。和CPOL位一起配合來(lái)產(chǎn)生需要的時(shí)鐘/數據的采樣關(guān)系。為0時(shí)表示在時(shí)鐘的第一個(gè)邊沿進(jìn)行數據捕獲,為1時(shí)表示在時(shí)鐘的第二個(gè)邊沿進(jìn)行數據捕獲。備注在USART4和USART5上不存在這一位。
位8:LBCL(最后一位時(shí)鐘脈沖):在同步模式下,使用該位來(lái)控制是否在CK引腳上輸出最后最后那個(gè)數據字節(MSB)對應的時(shí)鐘脈沖。為0時(shí)表示最后一位數據的時(shí)鐘脈沖不從CK輸出。為1時(shí)表示最后一位數據的時(shí)鐘脈沖會(huì )從CK輸出。備注:最后一個(gè)數據位就是第8或者第9個(gè)發(fā)送的位(根據USART_CR1寄存器中的M位所定義的8或9位數據幀格式),在USART4和USART5上不存在這一位。
位7:保留位,硬件強制為0。
位6:LBDIE(LIN斷開(kāi)符檢測中斷使能):斷開(kāi)符中斷屏蔽(使用斷開(kāi)分隔符來(lái)檢測斷開(kāi)符),為0時(shí)表示禁止中斷,為1時(shí)表示只要USART_SR寄存器中的LBD為1就產(chǎn)生中斷。
位5:LBDL(LIN斷開(kāi)符檢測長(cháng)度):該位用來(lái)選擇是11位還是10位斷開(kāi)符檢測。為0時(shí)表示為10位斷開(kāi)符檢測,為1時(shí)表示為11位的斷開(kāi)符檢測。
位4:保留位,硬件強制為0。
位3-0:ADD[3:0]:本設備的USART節點(diǎn)地址。該位域給出本設備USART節點(diǎn)的地址。這是在多處理器通信下的靜默模式中使用的,使用地址標記來(lái)喚醒某個(gè)USART設備。
3】備注:在使能發(fā)送后不能再改寫(xiě)CPOL,CPHA,LBCL三個(gè)位。
6、控制寄存器3(USART_CR3)
1】地址偏移:0x14,復位值:0x0000
2】位31-11:保留位,硬件強制為0;
位10:CTSIE(CTS中斷使能):為0時(shí)禁止中斷,為1時(shí)USART_SR寄存器中的CTS為1時(shí)產(chǎn)生中斷。備注,在USART4和USART5上不存在這一位。
位9:CTSE(CTS使能):為0時(shí)禁止CTS硬件流控制,為1時(shí)CTS模式使能。只有nCTS輸入信號有效(拉成低電平)時(shí)才能發(fā)送數據。如果在數據傳輸過(guò)程中,nCTS信號變?yōu)闊o(wú)效,那么發(fā)送完這個(gè)數據后,傳輸就停止下來(lái)。如果當nCTS為無(wú)效時(shí),往數據寄存器里面寫(xiě)數據,則要等到nCTS有效時(shí)才會(huì )發(fā)送這個(gè)數據。備注,在USART4和USART5上不存在這一位。
位8:RTSE(RTS使能):為0時(shí)表示禁止RTS硬件流控制,為1時(shí)表示RTS中斷使能,只有接受緩沖區內有空余空間時(shí)才請求下一個(gè)數據。當前數據發(fā)送完成后,發(fā)送操作就需要暫停下來(lái),如果可以接受數據了,將nRTS輸出置為有效(拉至低電平)。備注,在USART4和USART5上不存在這一位。
位7:DMAT(DMA使能發(fā)送):該位由軟件設置或清除。為0時(shí)表示禁止發(fā)送時(shí)的DMA模式,為1時(shí)表示為使能發(fā)送時(shí)的DMA模式。備注,在USART4和USART5上不存在這一位。
位6:DMAR(DMA使能接收):該位由軟件設置或清除。為0時(shí)表示禁止接收時(shí)的DMA模式,為1時(shí)表示使能接收時(shí)的DMA模式。備注在USART4和USART5上不存在這一位。
位5:SCEN(智能卡模式使能):該位用來(lái)設置智能卡模式。為0時(shí)表示禁止智能卡模式,為1時(shí)表示使能智能卡模式。備注在USART4和USART5上不存在這一位。
位4:NACK(智能卡NACK使能):為0時(shí)表示校驗出錯時(shí),不發(fā)送NACK,為1時(shí)表示校驗錯誤出現時(shí),發(fā)送NACK。備注,在USART4和USART5上不存在這一位。
位3:HDSEL(半雙工選擇):選擇單線(xiàn)半雙工模式,為0表示不選擇半雙工模式,為1表示選擇半雙工模式。
位2:IRLP(紅外低功耗):用來(lái)選擇普通模式還是低功耗紅外模式。為0時(shí)表示為普通模式,為1時(shí)表示為低功耗模式。
位1:IREN(紅外模式使能):該位由軟件設置或清零。為0時(shí)表示不使能紅外模式,為1時(shí)表示使能紅外模式。
位0:EIE(錯誤中斷使能):在多緩沖區通信模式下,當有幀錯誤,過(guò)載或者噪聲錯誤時(shí)(USART_SR狀態(tài)寄存器中的FE=1,或者ORE=1,或者NE=1)產(chǎn)生中斷。為0時(shí)表示禁止中斷,為1時(shí)表示只要USART_CR3中的DMAR=1,并且USART_SR中的FE=1,或者ORE=1,或者NE=1,則產(chǎn)生中斷。
7、保護時(shí)間和預分頻寄存器(USART_GPTR)
1】地址偏移:0x18,復位值:0x0000
2】位31-16:保留位,硬件強制為0
位15-8:GT[7:0]:保護時(shí)間值,該位規定了以波特時(shí)鐘為單位的保護時(shí)間,在智能卡模式下,需要這個(gè)功能。當保護時(shí)間過(guò)去后,才會(huì )設置發(fā)送完成標志。
位7-0:PSC[7:0]:預分頻值。
a、在紅外(IRDA)低功耗模式下,PSC[7:0] = 紅外低功耗波特率,對系統時(shí)鐘分頻以獲得低功耗模式下的頻率:源時(shí)鐘被寄存器中的值(僅有8位有效)分頻。00000000:保留-不要寫(xiě)入該值;00000001:對源時(shí)鐘1分頻;00000010:對源時(shí)鐘2分頻。
b、在紅外(IRDA)正常模式下,PSC只能設置為00000001
c、在智能卡模式下,PSC[4:0]:預分頻值,對系統時(shí)鐘進(jìn)行分頻,給智能卡提供時(shí)鐘。寄存器中給出的值(低5位有效)乘以2后,作為對源時(shí)鐘的分頻因子。00000:保留-不要寫(xiě)入該值;00001:對源時(shí)鐘進(jìn)行二分頻;00010:對源時(shí)鐘進(jìn)行4分頻;00011:對源時(shí)鐘進(jìn)行6分頻。。。。備注,在智能卡模式下位[7:5]在智能卡模式下沒(méi)有意義,UART4和UART5上不存在這一位。


評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>