91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

UART的Rx和Tx引腳如何互換 電平如何反轉(zhuǎn)

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-26 16:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

支持RXD和TXD管腳互換

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

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

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

支持接收和發(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è)置。

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

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

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

USART支持DMA傳輸

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

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

USART 新特性小結(jié)

支持RXD和TXD管腳的互換

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

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

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

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

    關(guān)注

    2309

    文章

    11161

    瀏覽量

    373386
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    2111

    瀏覽量

    55680
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1314

    瀏覽量

    106632
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    USART RX引腳的配置

    1. 浮空輸入 適用場景: 短距離通信:當(dāng)RX引腳與發(fā)送端(TX)距離較近(如板內(nèi)直連),且發(fā)送端為推挽輸出(強驅(qū)動能力)。 發(fā)送端已內(nèi)置上拉:若發(fā)送端的TX
    發(fā)表于 11-20 08:23

    USART RX引腳應(yīng)該上拉還是浮空?

    1. 浮空輸入(無上拉) 適用場景: 短距離通信:當(dāng)RX引腳與發(fā)送端(TX)距離較近(如板內(nèi)直連),且發(fā)送端為推挽輸出(強驅(qū)動能力)。 發(fā)送端已內(nèi)置上拉:若發(fā)送端的TX
    發(fā)表于 11-19 06:14

    MCU(UART)串口的RXTX如何使其反相輸出?

    MCU(UART):串口的RXTX如何使其反相輸出?
    發(fā)表于 11-14 06:10

    如果引腳具有 Uart Rx 和 nRESET 功能,如何配置 UART Rx 功能?

    如果引腳具有 Uart Rx 和 nRESET 功能,如何配置 UART Rx 功能?
    發(fā)表于 08-25 06:08

    如果引腳具有 Uart Rx 和 nRESET 功能,如何配置 UART Rx 的功能?

    如果引腳具有 Uart Rx 和 nRESET 功能,如何配置 UART Rx 功能?
    發(fā)表于 08-21 07:19

    CYW20704 的 UART 4 針(TX/RX/CTS/RTS)是什么形式(推拉或漏極開路)嗎?

    你知道 CYW20704 的 UART 4 針(TX/RX/CTS/RTS)是什么形式(推拉或漏極開路)嗎?
    發(fā)表于 07-04 07:34

    CDMA 前端模塊 (Tx 824-849 MHz), (Rx 869-894 MHz) skyworksinc

    ), (Rx 869-894 MHz)的引腳圖、接線圖、封裝手冊、中文資料、英文資料,CDMA 前端模塊 (Tx 824-849 MHz), (Rx 869-894 MHz)真值表,C
    發(fā)表于 06-26 18:29
    CDMA 前端模塊 (<b class='flag-5'>Tx</b> 824-849 MHz), (<b class='flag-5'>Rx</b> 869-894 MHz) skyworksinc

    Tx-Rx iPAC FEM 雙頻 GSM/GPRS skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()Tx-Rx iPAC FEM 雙頻 GSM/GPRS相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有Tx-Rx iPAC FEM 雙頻 GSM/GPRS的引腳圖、接線圖、封裝手冊、中文資料、英文
    發(fā)表于 06-25 18:34
    <b class='flag-5'>Tx-Rx</b> iPAC FEM 雙頻 GSM/GPRS skyworksinc

    用于雙頻 GSM / GPRS / EDGE 的 Tx-Rx 前端模塊 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()用于雙頻 GSM / GPRS / EDGE 的 Tx-Rx 前端模塊相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有用于雙頻 GSM / GPRS / EDGE 的 Tx-Rx 前端模塊的引腳
    發(fā)表于 06-25 18:31
    用于雙頻 GSM / GPRS / EDGE 的 <b class='flag-5'>Tx-Rx</b> 前端模塊 skyworksinc

    TxRx iPAC? 前端模塊 – 四頻 GSM/GPRS skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()TxRx iPAC? 前端模塊 – 四頻 GSM/GPRS相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有TxRx iPAC? 前端模塊 – 四頻 GSM/GPRS的
    發(fā)表于 06-25 18:31
    <b class='flag-5'>Tx</b>–<b class='flag-5'>Rx</b> iPAC? 前端模塊 – 四頻 GSM/GPRS skyworksinc

    用于雙頻 GSM / GPRS 的 Tx-Rx iPAC? 前端模塊 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()用于雙頻 GSM / GPRS 的 Tx-Rx iPAC? 前端模塊相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有用于雙頻 GSM / GPRS 的 Tx-Rx iPAC? 前端模塊的引腳
    發(fā)表于 06-25 18:30
    用于雙頻 GSM / GPRS 的 <b class='flag-5'>Tx-Rx</b> iPAC? 前端模塊 skyworksinc

    Tx-Rx iPAC? FEM 雙頻 GSM/GPRS GSM850,PCS1900 skyworksinc

    GSM850,PCS1900的引腳圖、接線圖、封裝手冊、中文資料、英文資料,Tx-Rx iPAC? FEM 雙頻 GSM/GPRS GSM850,PCS1900真值表,Tx-Rx iPAC? FEM 雙頻 GSM/GPRS G
    發(fā)表于 06-23 18:31
    <b class='flag-5'>Tx-Rx</b> iPAC? FEM 雙頻 GSM/GPRS GSM850,PCS1900 skyworksinc

    用于四頻 GSM / GPRS / EDGE 6 頻天線開關(guān)支持的 Tx-Rx FEM skyworksinc

    支持的 Tx-Rx FEM的引腳圖、接線圖、封裝手冊、中文資料、英文資料,用于四頻 GSM / GPRS / EDGE 6 頻天線開關(guān)支持的 Tx-Rx FEM真值表,用于四頻 GSM / GPRS / EDGE 6 頻天線開關(guān)
    發(fā)表于 06-17 18:30
    用于四頻 GSM / GPRS / EDGE 6 頻天線開關(guān)支持的 <b class='flag-5'>Tx-Rx</b> FEM skyworksinc

    RX+/- 和 TX+/- 引腳的絕對最大額定值是多少?

    Q1) RX+/- 和 TX+/- 引腳的絕對最大額定值是多少? 目標(biāo)引腳→ US_RXP/M,,US_TXP/M,DSx_RXP/M,DSx_TXP/M Q2-1)
    發(fā)表于 05-21 08:13

    stm32的TXRX引腳出現(xiàn)了對地短路是怎么回事?如何解決?

    最近在做某個項目的時候發(fā)現(xiàn)stm32芯片中的TXRX引腳出現(xiàn)了對地短路的情況,目前在使用過程出現(xiàn)了2次這樣的問題。stm32的TXRX
    發(fā)表于 03-06 07:12