日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > strongerHuang
[導讀]今天給大家分享 關(guān)于STM32中UART的一些特性 ,主要針對較新系列STM32(如:STM32H7、G0、G4等 ) 的UART,可通過軟件改變Rx和Tx引腳、電平反轉(zhuǎn)、高低反序、介紹超時等。


轉(zhuǎn)自 | AI電堂

今天給大家分享 關(guān)于STM32中UART的一些特性 ,主要針對較新系列STM32(如:STM32H7、G0、G4等 的UART,可通過軟件改變Rx和Tx引腳、電平反轉(zhuǎn)、高低反序、介紹超時等。

嵌入式專欄

1

支持RXD和TXD管腳互換 有些時候,我們在外接RS232芯片時,可能會將RXD和TXD兩根線接反。這類低級錯誤,一般是老司機才會犯。

如果大家知道USART的TXD和RXD管腳可以互換,那么在連接外設(shè)RS232芯片時,如果發(fā)生錯誤,就不必再修改硬件,只需直接在軟件中將RXD和TXD的管腳反轉(zhuǎn)過來即可修正錯誤。

參考上圖,設(shè)置SWAP位,即可將RXD和TXD管腳互換。

嵌入式專欄

2

支持接收和發(fā)送的電平極性反轉(zhuǎn) 第二個新特性: Tx和Rx 電平極性反轉(zhuǎn)。

通常默認串口電平是高電平為邏輯1,低電平為邏輯0。而在STM32的USART新特性中是可以將高電平設(shè)置為邏輯0,低電平設(shè)置為邏輯1的。

這一特性,讓我們在一些特殊的場景下靈活使用,如:USART外接了反相器時就可以直接使用。

在數(shù)據(jù)接收發(fā)送寄存器中,數(shù)據(jù)也是可以反轉(zhuǎn)的,原來的0變?yōu)?,原來的1變?yōu)?,這和電平極性反轉(zhuǎn)是類似。需要特別注意的是,在極性反轉(zhuǎn)的時候,起始位和結(jié)束位也都反轉(zhuǎn)了,所有的信號電平都反轉(zhuǎn);而在數(shù)據(jù)寄存器中只反轉(zhuǎn)了數(shù)據(jù)位,其中也包含了校驗位,沒有反轉(zhuǎn)信號的起始位和結(jié)束位的極性。


參考上圖,在USART_CR2寄存器中TXINV、RXINV和DATAINV位來進行設(shè)置。

嵌入式專欄

3

支持數(shù)據(jù)高位與低位反序發(fā)送或接收 第三個新特性: 發(fā)送和接收數(shù)據(jù)時,可在寄存器中設(shè)置是先發(fā)低位還是先發(fā)高位 。
默認的配置都是先發(fā)送或接收低位的信號(bit 0),實際應用中,通過USART_CR2中的MSBFIRST設(shè)置后,也可以讓USART先發(fā)送或接收高位信號(bit 7/8),這一點在對數(shù)據(jù)進行反序的時候會經(jīng)常用到它。

我們可以考慮這種情況,如果需要把串口接收到的數(shù)據(jù)先進行反序操作之后,再進行計算,那這個硬件的功能就可以幫助我們節(jié)省很多軟件的工作量。

嵌入式專欄

4

USART支持DMA傳輸 最后, STM32的USART都是支持DMA 的,這一點有利于做數(shù)據(jù)的連續(xù)發(fā)送和數(shù)據(jù)的緩沖接收。 在某些STM32產(chǎn)品系列中,如STM32F4和H7系列具有專門的串口FIFO,這就可以用來做串口喚醒,先讓MCU進入到Sleep模式,當接收到一個完整的數(shù)據(jù)包,這個數(shù)據(jù)包可能是100個字節(jié)或者200個字節(jié),之后再喚醒單片機,這樣既可以做到不丟數(shù)據(jù)又可以降低MCU的喚醒頻率。
另外,USART的接收還具有超時功能,可以人為設(shè)定一個時間,在USART的RTOR寄存器中進行設(shè)置,當串口接收的數(shù)據(jù)幀之間超過了這個設(shè)定值,就會引發(fā)一個超時中斷,串口中會有一個叫RTOF的標志位來顯示發(fā)生的超時事件,我們通過這個中斷中應用的代碼就可以知道串口的數(shù)據(jù)發(fā)生了中斷現(xiàn)象,近似可認為對方的數(shù)據(jù)已經(jīng)發(fā)送完成。這種方式,在串口上層協(xié)議的開發(fā)中,有很多應用場景。

USART 新特性小結(jié)

  • 支持RXD和TXD管腳的互換

  • 支持管腳上的電平邏輯反轉(zhuǎn)和數(shù)據(jù)寄存器中的邏輯反轉(zhuǎn)

  • 支持數(shù)據(jù)高位與低位反序發(fā)送或接收,既可以先發(fā)送或接收低位,也可以先發(fā)送或接收高位

  • 支持接收數(shù)據(jù)的超時功能,并且每個USART都可以支持DMA傳輸




免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉