0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何互換STM32中UART的Rx和Tx引腳及電平的反轉

strongerHuang ? 來源:未知 ? 2019-09-08 10:29 ? 次閱讀

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

支持RXD和TXD管腳互換

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

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

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

支持接收和發(fā)送的電平極性反轉

第二個新特性:Tx和Rx電平極性反轉。 通常默認串口電平是高電平為邏輯1,低電平為邏輯0。而在STM32的USART新特性中是可以將高電平設置為邏輯0,低電平設置為邏輯1的。 這一特性,讓我們在一些特殊的場景下靈活使用,如:USART外接了反相器時就可以直接使用。 在數據接收發(fā)送寄存器中,數據也是可以反轉的,原來的0變?yōu)?,原來的1變?yōu)?,這和電平極性反轉是類似。需要特別注意的是,在極性反轉的時候,起始位和結束位也都反轉了,所有的信號電平都反轉;而在數據寄存器中只反轉了數據位,其中也包含了校驗位,沒有反轉信號的起始位和結束位的極性。

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

支持數據高位與低位反序發(fā)送或接收

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

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

USART支持DMA傳輸

最后,STM32的USART都是支持DMA的,這一點有利于做數據的連續(xù)發(fā)送和數據的緩沖接收。在某些STM32產品系列中,如STM32F4和H7系列具有專門的串口FIFO,這就可以用來做串口喚醒,先讓MCU進入到Sleep模式,當接收到一個完整的數據包,這個數據包可能是100個字節(jié)或者200個字節(jié),之后再喚醒單片機,這樣既可以做到不丟數據又可以降低MCU的喚醒頻率。

另外,USART的接收還具有超時功能,可以人為設定一個時間,在USART的RTOR寄存器中進行設置,當串口接收的數據幀之間超過了這個設定值,就會引發(fā)一個超時中斷,串口中會有一個叫RTOF的標志位來顯示發(fā)生的超時事件,我們通過這個中斷中應用的代碼就可以知道串口的數據發(fā)生了中斷現象,近似可認為對方的數據已經發(fā)送完成。這種方式,在串口上層協(xié)議的開發(fā)中,有很多應用場景。

USART 新特性小結

支持RXD和TXD管腳的互換

支持管腳上的電平邏輯反轉和數據寄存器中的邏輯反轉

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

支持接收數據的超時功能,并且每個USART都可以支持DMA傳輸

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    356005
  • RS232
    +關注

    關注

    13

    文章

    748

    瀏覽量

    94344
  • uart
    +關注

    關注

    22

    文章

    1235

    瀏覽量

    101392

原文標題:UART的Rx和Tx引腳如何互換,電平如何反轉

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CYT2B9如何控制UART Rx、Tx?

    嗨 我正在使用 CYT2B9。 硬件UART 線路由 1 根導線組成。 因此,UART 通信是在 MCU 的 TX/RX
    發(fā)表于 03-05 07:51

    stm32芯片 TXRX引腳出現對地短路的情況

    最近在做某個項目的時候發(fā)現stm32芯片中的TXRX引腳出現了對地短路的情況,目前在使用過程出現了2次這樣的問題。 如下圖所示,stm32
    發(fā)表于 09-26 10:54

    芯片間RXTX通訊問題

    4信號為低電平,MOS管打開開始通信;那UART_TX4信號為高電平,MOS管不是關閉了么,如何通信呢?4)有人說芯片間的RXTX通訊是不
    發(fā)表于 11-25 15:50

    Uart Tx/Rx腳位如何定位?

    請問在Uart初始化時,如何設置其TxRx是哪個腳位? 看到有個UARTPinMuxSetup(0);設置Uart0的輸入輸出使能,如下: Uar
    發(fā)表于 06-21 06:00

    UART:動態(tài)TX/RX引腳選擇

    嗨,我正在啟動一個新的項目,可以使用PIC12F1572。顯然,UART TX可以在RA0或RA4和RX上設置RA1或RA5。在程序執(zhí)行過程,這個配置會改變嗎?或者它是為整個程序設置
    發(fā)表于 11-09 15:26

    STM32 CAN總線調試對外輸出數據輸出引腳RX/TX,用示波器觀察是何種電平情況?

    主要問幾個CAN總線物理層上的問題1.CAN節(jié)點不接入總線網絡!??!(注意)(1).若此時對外輸出數據,STM32 can總線輸出引腳RX/TX(接入CAN收發(fā)器之前),用示波器觀察,
    發(fā)表于 11-28 08:54

    AXI UART 16550上的rxtx端口在哪里?

    UARTlite時,當我顯示UART的所有引腳時,我可以看到rxtx引腳。提前致謝。以上來
    發(fā)表于 03-22 14:47

    STM32關于UART的一些新特性

    今天給大家分享關于STM32關于UART的一些新特性,主要針對較新系列STM32(如:STM32H7、G0、G4等)的UART,可通過軟件改
    發(fā)表于 02-17 06:27

    為什么無法在STM32WB50CG項目“Zigbee_SE_Msg_Server_Router”交換 UARTTX/RX引腳?

    我正在嘗試交換 UARTTX/RX 引腳,但如果沒有 Zigbee_SE_Msg_Server_Router 項目中不存在的項目配置文件,我將無法實現。我試圖更改“hw_conf
    發(fā)表于 01-04 07:33

    STM32F777可交換的Tx/Rx引腳配置 在哪里可以找到更多信息?

    STM32F777 在第 2.25 節(jié) [U(S)ART] 下有一個項目符號:可交換的 Tx/Rx 引腳配置在哪里可以找到有關為 UART
    發(fā)表于 01-10 07:47

    eSCI TxRx引腳電壓電平是多少?

    當我在數據表上搜索這個主題時,我發(fā)現了(圖片),但我想知道 txrx 引腳上的電壓電平是多少(我測試過,我看到是 5v 到 0V)。數據表或參考手冊中有關于這個東西的任何信息嗎?
    發(fā)表于 05-29 07:28

    UARTRxTx引腳如何互換 電平如何反轉

    UARTRxTx引腳如何互換,電平如何反轉
    的頭像 發(fā)表于 02-26 16:42 ?1.5w次閱讀

    關于STM32UART的一些特性分享

    今天給大家分享關于STM32UART的一些特性,主要針對較新系列STM32(如:STM32H7、G0、G4等)的
    的頭像 發(fā)表于 03-20 11:34 ?4903次閱讀

    UARTRxTx引腳如何互換,電平如何反轉

    今天給大家分享關于STM32關于UART的一些新特性,主要針對較新系列STM32(如:STM32H7、G0、G4等)的UART,可通過軟件改
    發(fā)表于 12-20 19:33 ?5次下載
    <b class='flag-5'>UART</b>的<b class='flag-5'>Rx</b>和<b class='flag-5'>Tx</b><b class='flag-5'>引腳</b>如何<b class='flag-5'>互換</b>,<b class='flag-5'>電平</b>如何<b class='flag-5'>反轉</b>

    TX/RX傳輸的MOS電平轉換電路設計案例

    今天給大家分享下TX/RX傳輸的MOS電平轉換電路設計案例,既規(guī)誡自己以后設計電路需嚴謹再嚴謹,也向大家再次從犯錯糾錯的角度介紹TX/RX
    的頭像 發(fā)表于 08-03 11:01 ?5649次閱讀
    <b class='flag-5'>TX</b>/<b class='flag-5'>RX</b>傳輸的MOS<b class='flag-5'>電平</b>轉換電路設計案例