在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

節省IO的小技巧:GD32 MCU如何使用一個GPIO實現串口半雙工收發

聚沃科技 ? 2024-03-15 09:39 ? 次閱讀

一般情況串口的接受和發送分別需要使用TX和RX兩個引腳來實現,但在一些UART的實際應用中,通信雙方身份為主機和從機,數據流是半雙工的,那么當IO口資源緊張時可以使用半雙工模式通過一個引腳實現數據的發送和接受,同時又保證數據不出錯。我們一起來看下紅楓派開發板例程中是如何實現的?

首先GD32F303的UART是支持半雙工模式的,但想要真正使用起來,軟硬件還需要特殊設計。

首先是硬件設計,在紅楓派開發板中的RS485通信使用半雙工實現,原理圖是這樣的:

wKgaomXzpmCATEZJAADP3FM-y0s818.png

其中很重要的兩個點是:

1、在MCU的TX引腳上一定要增加一個上拉電阻,保證MCU發送和接受模式切換時IO口電平可以保持高電平的空閑態。

2、485端實際還是發送和接受分開兩個引腳,那為了避免MCU發送時和485芯片的發送引腳形成電平競爭,在485芯片的RO引腳上串聯一個電阻后再連接到MCU TX引腳和485的DI引腳。

如果通信雙方都是半雙工引腳,那么只需要有一個上拉電阻、雙方都使用開漏輸出模式即可。

在軟件設計方面,讓我們看下紅楓派開發板例程的實現過程:

1、初始化時使能半雙工模式,同時使能接受并關閉發送,因為除了MCU發送過程,其他狀態都可以保持為接受。

wKgZomXzpmaAZnd8AAAjahjR6m4449.png

2、開啟發送時,首先關閉UART接受功能,再使能發送功能,否則將接受到自己發送的數據。

wKgZomXzpmuALtt6AABNh8aWLgc977.png

3、在發送過程中可以查詢TBE標志進行發送等待,但在執行完最后一個字節發送后一定要等待TC標志置位。

wKgaomXzpnGAd1LJAABAWuoKl-o839.png

4、發送完畢并等待到TC標志置位后,代表發送已經實際完成,此時關閉UART發送,使能接受。

wKgZomXzpnaAWXrLAABGIgvI9_c632.png

5、對于接受,只需要按正常的處理方式使用中斷或者DMA就可以,只要前面發送步驟正確,就不會干擾到接受功能。

wKgZomXzpnuANzrCAAB0QJilucA129.png

此時,釋放出來的串口的RX引腳可以做其他功能使用了,大家可以購買紅楓派開發板進行這個功能的體驗。

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

    關注

    6037

    文章

    44558

    瀏覽量

    635355
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17149

    瀏覽量

    351214
  • 嵌入式
    +關注

    關注

    5082

    文章

    19126

    瀏覽量

    305247
  • GPIO
    +關注

    關注

    16

    文章

    1204

    瀏覽量

    52104
  • GD32
    +關注

    關注

    7

    文章

    403

    瀏覽量

    24353
收藏 人收藏

    評論

    相關推薦

    怎么用半雙工模塊去實現類似全雙工模塊的效果呢?

    怎么用半雙工模塊去實現類似全雙工模塊的效果呢
    發表于 02-14 06:59

    GD32串口回環的設置解析

    GD32串口IO該怎樣去設置呢?GD32串口接收該怎樣去設置呢?
    發表于 02-28 06:33

    GD32 MCU原理及固件庫開發指南》+讀后感

    ,所以從STM32切換到GD32能夠很快實現節省了很多精力和時間成本。并且剛好出了《GD32 MCU原理及固件庫開發指南》這本書,能幫助快
    發表于 06-06 21:52

    GD32 DMA串口通訊DEMO

    GD32 DMA串口通訊GD32 USART0 DMA發送與接收不定長數據GD32E230簡介GD32E230采用DMA進行
    發表于 11-26 19:36 ?74次下載
    <b class='flag-5'>GD32</b> DMA<b class='flag-5'>串口</b>通訊DEMO

    AN092GD32MCU GPIO結構與使用注意事項

    AN092 GD32 MCU GPIO結構與使用注意事項
    發表于 03-01 18:48 ?0次下載
    AN092<b class='flag-5'>GD32MCU</b> <b class='flag-5'>GPIO</b>結構與使用注意事項

    兆易創新GD32 MCU選型手冊,適用于GD32全系列MCU

    兆易創新GD32MCU選型手冊,適用于GD32全系列MCUGD32MCU選型手冊,適用于GD32全系列MCU
    發表于 10-19 17:26 ?49次下載

    你了解GD32 MCU的命名規則嗎

    下面為大家介紹GD32 MCU的通用命名規則,以GD32F303ZGT6為例,其中,GD32代表GD32
    的頭像 發表于 01-13 09:38 ?3648次閱讀
    你了解<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的命名規則嗎

    GD32 MCU的選項字節是什么?

    GD32 MCU的選項字節是什么,有什么功能呢?選項字節被誤篡改如何回復?
    的頭像 發表于 01-17 09:42 ?1387次閱讀
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的選項字節是什么?

    GD32 串口接受異常的幾個原因

    前面我們介紹過GD32 485發送時出現異常的最常見原因,有小伙伴反饋想要知道GD32 串口接受異常的可能原因,今天我們就來安排。
    的頭像 發表于 01-18 09:57 ?4259次閱讀
    <b class='flag-5'>GD32</b> <b class='flag-5'>串口</b>接受異常的幾個原因

    不同型號的GD32 MCU如何區分?

    大家是否碰到過以下應用場景:同套軟件代碼希望跑在不同型號的GD32 MCU中,但有些地方需要根據MCU型號進行調整?或者上位機或其他MCU
    的頭像 發表于 01-27 09:32 ?1003次閱讀
    不同型號的<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>如何區分?

    GD32 MCU如何將燒錄口配置為GPIO使用?

    如果大家在進行GD32 MCU開發時發現GPIO引腳使用不足,可以嘗試將燒錄口配置為GPIO使用,這樣就可以多出幾個引腳使用,但使用的時候如何配置以及有哪些注意事項,本視頻將會為大家進
    的頭像 發表于 02-20 10:18 ?1990次閱讀
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>如何將燒錄口配置為<b class='flag-5'>GPIO</b>使用?

    GD32 MCU 入門教程】GD32 MCU 常見外設介紹(14)RTC 模塊介紹

    GD32 MCU內部提供了RTC(實時時鐘)模塊,通過RTC可以實現日歷時鐘、鬧鐘等功能。RTC也可以用于深度睡眠或待機模式的低功耗喚醒
    的頭像 發表于 08-23 09:18 ?474次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常見外設介紹(14)RTC 模塊介紹

    GD32 MCU 入門教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的頭像 發表于 08-25 09:24 ?601次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> FPU 使用方法

    GD32 MCU入門教程】GD32 MCU GPIO 結構與使用注意事項

    本文是專門為基于GD32 MCU開發的工程設計人員提供,主要介紹了GPIO的功能配置、內部結構以及在不同場景使用時的注意事項,旨在幫助GD32 MC
    的頭像 發表于 09-07 10:34 ?749次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>GPIO</b> 結構與使用注意事項
    主站蜘蛛池模板: 久久精品国产2020观看福利色| 国产精品7m凸凹视频分类大全 | 情趣店上班h系列小说| 天天躁夜夜躁| 黄色片视频网| 久久夜夜肉肉热热日日| 黄免费视频| 久久久五月| 国产午夜免费视频| 亚洲一级香蕉视频| 国产精品欧美一区二区| 2018天天弄| 色视频网站大全免费| videossexotv极度另类高清| 亚洲乱强| 天堂bt| 亚洲午夜日韩高清一区| 国产成人啪精品午夜在线播放 | 手机福利片| 国产尤物在线视频| 久久综合社区| 成 人 免费 黄 色 视频| 婷婷综合久久中文字幕蜜桃三| 丁香六月纪婷婷激情综合| 欧美性猛交xxxx黑人喷水| 色伊伊| 四虎4444hu4影视最新地址| 狠狠干狠狠色| 国产handjob手交在线播放| 日本xx69| 欧美精品综合一区二区三区| 久久婷婷色综合老司机| 熊出没之环球大冒险旧版免费观看 | 国产天天在线| 四虎成人影院网址| 天天看片天天干| 伊人久色| 亚洲国产午夜精品理论片的软件| 精品国产中文一级毛片在线看| 国产又色又爽又黄的网站在线一级 | 天天噜天天干|