女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 作者:黃工的嵌入式技術 ? 2020-02-26 16:42 ? 次閱讀

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

支持RXD和TXD管腳互換

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

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

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

支持接收和發送的電平極性反轉

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

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

支持數據高位與低位反序發送或接收

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

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

USART支持DMA傳輸

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

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

USART 新特性小結

支持RXD和TXD管腳的互換

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

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

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

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

    關注

    2289

    文章

    11012

    瀏覽量

    362384
  • 引腳
    +關注

    關注

    16

    文章

    1564

    瀏覽量

    52349
  • uart
    +關注

    關注

    22

    文章

    1268

    瀏覽量

    103258
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Tx-Rx 前端模塊,用于四頻 GSM/ GPRS/ EDGE,支持 4 頻天線開關 skyworksinc

    ,支持 4 頻天線開關的引腳圖、接線圖、封裝手冊、中文資料、英文資料,Tx-Rx 前端模塊,用于四頻 GSM/ GPRS/ EDGE,支持 4 頻天線開關真值表,Tx-Rx 前端模塊,用于四頻 GSM/ GPRS/ EDGE,支
    發表于 06-04 18:33
    <b class='flag-5'>Tx-Rx</b> 前端模塊,用于四頻 GSM/ GPRS/ EDGE,支持 4 頻天線開關 skyworksinc

    用于四頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,帶兩個 Rx 交換機端口和雙頻 TD-SCDMA skyworksinc

    / GPRS / EDGE 的 Tx-Rx FEM,帶兩個 Rx 交換機端口和雙頻 TD-SCDMA的引腳圖、接線圖、封裝手冊、中文資料、英文資料,用于四頻 GSM / GPRS / EDGE 的
    發表于 05-29 18:31
    用于四頻 GSM / GPRS / EDGE 的 <b class='flag-5'>Tx-Rx</b> FEM,帶兩個 <b class='flag-5'>Rx</b> 交換機端口和雙頻 TD-SCDMA skyworksinc

    Tx-Rx 前端模塊,用于四頻 GSM / GPRS,支持 4 頻天線開關 skyworksinc

    開關的引腳圖、接線圖、封裝手冊、中文資料、英文資料,Tx-Rx 前端模塊,用于四頻 GSM / GPRS,支持 4 頻天線開關真值表,Tx-Rx 前端模塊,用于四頻 GSM / GPRS,支持 4 頻天線開關管腳等資料,希望可以
    發表于 05-29 18:29
    <b class='flag-5'>Tx-Rx</b> 前端模塊,用于四頻 GSM / GPRS,支持 4 頻天線開關 skyworksinc

    用于 GSM / GPRS (824–915 MHz) 的 Tx 四頻/Rx 雙頻前端模塊 (1710–1910 MHz) skyworksinc

    / GPRS (824–915 MHz) 的 Tx 四頻/Rx 雙頻前端模塊 (1710–1910 MHz)的引腳圖、接線圖、封裝手冊、中文資料、英文資料,用于 GSM / GPRS (824–915 MHz
    發表于 05-28 18:33
    用于 GSM / GPRS (824–915 MHz) 的 <b class='flag-5'>Tx</b> 四頻/<b class='flag-5'>Rx</b> 雙頻前端模塊 (1710–1910 MHz) skyworksinc

    帶有集成耦合器的 Tx/Rx 前端模塊,適用于四頻 GSM 和 EDGE 應用 skyworksinc

    和 EDGE 應用的引腳圖、接線圖、封裝手冊、中文資料、英文資料,帶有集成耦合器的 Tx/Rx 前端模塊,適用于四頻 GSM 和 EDGE 應用真值表,帶有集成耦合器的 Tx/
    發表于 05-27 18:32
    帶有集成耦合器的 <b class='flag-5'>Tx</b>/<b class='flag-5'>Rx</b> 前端模塊,適用于四頻 GSM 和 EDGE 應用 skyworksinc

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

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

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

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

    光纖的txrx怎么接

    光纖的TX(發送)和RX(接收)端口的連接方法主要取決于所使用的設備和光纖收發器的類型。以下是一些基本的連接步驟和注意事項: 一、連接步驟 識別端口: TX端口:用于發送數據的光纖端口。 RX
    的頭像 發表于 10-25 10:23 ?5314次閱讀

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

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

    通過UART0連接到esp8266與服務器進行通信,報UART Rx溢出和消息RX OVF錯誤怎么解決?

    buffer length of tx buffer #define UART_RX_BUFFER_SIZE 768 //Ring buffer length of rx buffer 但是,這無助于阻止
    發表于 07-11 08:05

    UART0和UART1之間是否共享Tx緩沖區?

    ); /****************************************************************************** * FunctionName : uart_config * Description: Internal used function *
    發表于 07-11 07:50

    在ESP Wemos D1 Mini Pro上將FTDI連接到RXTX遇到的疑問求解

    我在 ESP Wemos D1 Mini Pro 上將 FTDI 連接到我的 RXTX。我必須物理斷開 Wemos D1 上的 RX 引腳才能刷新新固件。我的猜測是
    發表于 07-10 07:29

    ESP32C3想修改UART0的UART_TX_SIZE為2該如何操作?

    在ESP32C3的技術參考手冊中,UART的RAM共分為4個Block,每個Block128個字節,分別給UART0/1中不同的TX/RX,其中提到了可以修改幾個空間的大小。這個大小在
    發表于 06-14 06:32

    ESP32可以直接寫入RX的高低電平,和直接讀取TX的高低電平嗎?

    頭文件中,有沒有不指定RX TX引腳的情況下,直接寫入RX的高低電平,和直接讀取TX的高低
    發表于 06-07 08:20

    請問esp32的twai控制器的txrx可以用任一gpio定義嗎?

    各位大神們好,我想請教個問題,esp32的twai控制器的txrx可以用任一gpio定義嘛,比如要連接tja1050收發器,它的rxtx引腳
    發表于 06-07 06:04