吴忠躺衫网络科技有限公司

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

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

3天內不再提示

詳解STM32單片機I/O的幾種工作模式

汽車玩家 ? 來源:HACK實驗室 ? 作者:HACK實驗室 ? 2020-05-03 18:22 ? 次閱讀

最近有個朋友在設計低功耗設備,用的是STM32的主控,他知道我做過很多類似的超低功耗項目,于是向我咨詢了一些問題,其中就包括I/O口的幾種工作模式。今天我就詳細的來總結一下這幾種工作模式,讓大家在以后的設計中知其然也知其所以然。

先說說GPIO

在聊這8種工作模式之前,我想先說一下GPIO的概念—通用輸入輸出 General Purpose Input Output 簡稱GPIO,就是芯片引腳可以通過它們輸出高、低電平,也可以通過他們輸入、讀取引腳的電壓、電平狀態。
下面的8種工作模式我將圍繞下圖進行分析介紹,讀懂這一張圖大家基本就可以完全理解STM32的GPIO了。希望大家仔細的看一看。

詳解STM32單片機I/O的幾種工作模式

四種不同的輸出模式

推挽輸出:該模式下引腳可以輸出高低電平,可連接、驅動數字器件。對于推挽有部分小伙伴可能不知道是啥意思,其實很簡單,就是兩個參數相同的NPN、PNP三極管或者NMOS、PMOS管以推挽方式存在于電路中,各負責正負半周波形放大的任務。兩只對稱管每次只有一個導通,損耗小效率高,既可以提高電路的帶負載能力,又可以提高開關速度。電路如下圖所示,大家可以到IO內部圖里面對比著找一找。

詳解STM32單片機I/O的幾種工作模式

開漏輸出:該模式下引腳就相當于連接到了上圖NMOS的漏極,PMOS關閉去掉不存在。這時該引腳只能輸出低電平,不能輸出高電平,需要引腳加上拉電阻,才能得到高電平。這時一定有小伙伴疑惑,這東西沒有推挽輸出好用啊,錯!開漏輸出是有一些特別的優點的,比如:1、可用于連接與主控電平不匹配的器件,只需要將上拉電阻的上拉端連接到對方電平即可;2、以小博大,利用外部電路的驅動能力,減小內部電流,內部只需要很小的柵極驅動電流。缺點就是會有上升沿的延時,因為有上拉電阻的原因,這一點大家可以去閱讀一下我的上一篇關于電平匹配的文章,里面有介紹。

詳解STM32單片機I/O的幾種工作模式

復用推挽輸出、復用開漏輸出:顧名思義該模式下就是將引腳復用為其他功能,不再是簡單的GPIO。像我們常用的UART、SPI等的輸出引腳就是復用的推挽輸出,而我們常用的I2C就是復用的開漏輸出,這時大家就應該知道為什么我們在用I2C的時候需要上拉電阻了吧。這里給大家埋個伏筆——用I2C時為什么要開漏呢?知道的小伙伴可以在留言區回復,后面有機會分析I2C時我會詳細和大家來說。

四種不同的輸入模式

浮空輸入:這種輸入模式一般多用于檢測外部高低電平狀態,比如按鍵等。大家結合下面的IO內部圖來看,浮空輸入時上下拉電阻都沒有連接,引腳電平狀態不確定,如果引腳懸空時這種模式下讀出來的數據是沒意義的。

詳解STM32單片機I/O的幾種工作模式

上拉、下拉輸入:基本看名字大家就已經知道這種模式是怎么回事了,上圖中如果上面紅圈電阻接入就是上拉輸入,下面紅圈電阻接入就是下拉輸入。上一段我說過按鍵輸入檢測用浮空輸入模式,如果用上拉、下拉模式就更簡單了,就可以省掉外部的上下拉電阻節約項目成本。

模擬輸入:這個模式也是我們非常常用的了,那就是引腳設置為STM32內部ADC的模擬信號輸入。值得注意的是這種模式就不是所有的IO都有的功能了,需要帶ADC的IO口才可以設置。

補充說明些東西

關于IO引腳內部的兩個保護二極管,很久以前看到有人說是用來鉗位的,后來我在參加ST的研討會時問過官方,官方答復說并不是用于鉗位的而是用于做ESD保護的。當引腳作為ADC輸入的時候我們必須保證輸入模擬信號不超過3.6V,5V是不可以的。

上面說了芯片引腳內部有二極管保護,但是我建議大家在做設計時如果引腳引出板外最好格外再加TVS二極管來做加強保護,因為引腳連出板外很容易受靜電等外界因素傷害。比如下載接口,我在空間充足的時候都會放上一個SOT-23的TVS二極管來做保護。

總結

到這里大家會發現我今天所講的都是硬件層面的,而非軟件層面上的具體設置。其實如果大家從硬件層面搞懂這幾種模式,軟件上就簡單了,按照datasheet上面的說明進行配置就可以了。

最后來說一下近況,臨近年底工作上比較忙,之前說的幾個項目都跳票了,實在抱歉。但是大家不要擔心,忙過這會我會騰出更多時間投身于開源項目,2020年我給自己制定的目標之一就是做更多的開源項目與大家分享。

最后的最后,感謝支持我淘寶店鋪“HACK實驗室”的朋友們!

在售的LED矩陣時鐘

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

    關注

    6043

    文章

    44622

    瀏覽量

    638519
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357550
收藏 人收藏

    評論

    相關推薦

    單片機I/O接口的傳輸方式

    單片機(Microcontroller Unit,MCU)作為嵌入式系統的核心部件,其輸入輸出(Input/Output,I/O)接口是實現與外部設備數據交換的關鍵。I/
    的頭像 發表于 02-02 15:56 ?108次閱讀

    單片機Debug與仿真區別

    是指在軟件或硬件開發過程中,通過特定的工具和技術來查找、診斷和修復錯誤的過程。在單片機開發中,Debug通常涉及到以下幾個方面: 硬件調試 :檢查單片機的硬件連接是否正確,包括電源、時鐘、I/
    的頭像 發表于 12-19 09:47 ?285次閱讀

    STM32單片機的特點介紹

    和易用的工具,再配合強大的功能,在行業中享有盛譽。 STM32單片機的特點主要體現在以下幾個方面: STM32擁有強大的內核。它采用了ARM32位Cortex-M3 CPU,最高工作
    的頭像 發表于 09-25 17:19 ?2066次閱讀

    單片機io口的四種工作狀態

    單片機I/O工作狀態是單片機編程和硬件操作中非常重要的一部分,它決定了單片機如何與外部設備進
    的頭像 發表于 09-14 14:24 ?2033次閱讀

    stm32單片機用什么軟件編程

    STM32單片機是一種廣泛應用于嵌入式系統領域的微控制器,具有高性能、低功耗、豐富的外設接口等特點。要對STM32單片機進行編程,需要選擇合適的軟件工具。 概述
    的頭像 發表于 09-02 10:16 ?1941次閱讀

    單片機燒錄程序用什么軟件

    工作原理和接口方式的不同,可以分為以下幾類: 1.1 并行燒錄器:通過并行接口將程序數據傳輸給單片機,燒錄速度快,但需要占用較多的I/O端口。 1.2 串行燒錄器:通過串行接口將程序數
    的頭像 發表于 09-02 10:05 ?1650次閱讀

    stm32單片機引腳介紹及功能

    STM32系列單片機是STMicroelectronics(意法半導體)推出的一款基于ARM Cortex-M內核的32位微控制器。STM32單片機具有高性能、低功耗、豐富的外設和靈活
    的頭像 發表于 09-02 09:38 ?6918次閱讀

    stm32和51單片機的區別是什么

    。 性能差異: STM32具有更高的主頻和更大的內存空間,可以處理更復雜的任務和算法。 51單片機的主頻和內存空間相對較小,適用于簡單的控制和數據處理任務。 外設差異: STM32具有更豐富的外設,如多種類型的通信接口(SPI、
    的頭像 發表于 09-02 09:33 ?914次閱讀

    單片機引腳懸空是什么電平

    單片機引腳懸空是指單片機I/O引腳在沒有連接任何外部電路的情況下,引腳的電平狀態。懸空引腳的電平狀態取決于單片機的內部結構和外部環境因素。
    的頭像 發表于 08-28 09:51 ?2510次閱讀

    基于STM32單片機的智能雨刷器設計

    智能雨刷器系統使用STM32單片機進行主控,通過顯示屏顯示雨量,系統有自動和手動兩種模式,根據設定的閾值可以在自動模式下進行雨刷控制,手動模式
    的頭像 發表于 06-27 10:26 ?2185次閱讀
    基于<b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>的智能雨刷器設計

    基于STM32單片機的智能冰箱控制系統設計

    基于單片機設計的一款智能冰箱控制系統,可以控制冰箱的制冷裝置,可以采集冰箱的異味濃度,超過閩值之后控制紫外燈進行消毒工作單片機采用單片機采用單片機采用
    的頭像 發表于 06-25 09:21 ?1382次閱讀
    基于<b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>的智能冰箱控制系統設計

    STM32單片機有哪幾種常見的開發環境?

    STM32單片機是一款廣泛應用于嵌入式系統開發的單片機,針對其開發,有以下幾種常見的方式:STM32單片
    的頭像 發表于 05-18 08:04 ?3304次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>有哪<b class='flag-5'>幾種</b>常見的開發環境?

    STM32單片機最小化系統設計原理

    STM32最小系統,就是能讓STM32單片機能夠正常工作所必須擁有的組成部分的集合,也是STM32單片機
    發表于 04-23 14:54 ?3007次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>最小化系統設計原理

    幾種常用單片機的在線升級能力比較

    電子發燒友網站提供《幾種常用單片機的在線升級能力比較.pdf》資料免費下載
    發表于 03-24 09:39 ?2次下載

    推薦!單片機I/O的常用驅動與隔離電路

    使用。針對電氣控制產品的特點,本文討論了幾種單片機I/O的常用驅動和隔離電路的設計方法,對合理地設計電氣控制系統,提高電路的接口能力,增強系統穩定性和抗干擾能力有實際指導意義。 1、
    發表于 03-12 09:24
    澳门百家乐然后赢| 基础百家乐官网博牌| 百家乐官网游戏平台有哪些哪家的口碑最好| 娱乐城注册送金| 最好的百家乐官网娱乐场| 百家乐官网平点| 百家乐隐者博客| 大世界百家乐赌场娱乐网规则| 全讯网开奖直播| bet365娱乐场下载| 百家乐官网手机软件| 百家乐官网实时赌博| 百家乐官网庄最高连开几把| 羊和鼠做生意摆件| 伯爵百家乐赌场娱乐网规则| 富贵乐园棋牌游戏| 大玩家百家乐官网游戏| 博彩投注网| 百家乐官网园百利宫娱乐城信誉好...| 24卦像与阳宅朝向吉凶| 梦幻城百家乐的玩法技巧和规则 | 百家乐官网五湖四海娱乐场开户注册| 真人百家乐导航| 现金网制作| 百家乐官网有赢钱公式吗| 名人百家乐官网的玩法技巧和规则| 百家乐赢家电子书| 娱乐城送体验金| 澳门百家乐官网新濠天地| 百家乐现金网平台排行| 大发888大发888体育| 百家乐官网游戏真人游戏| 博之道百家乐官网的玩法技巧和规则| 玩百家乐输澳门百家乐现场| 大发888 zhidu| 百家乐官网关台| 百家乐制胜秘| 镇坪县| 网络百家乐官网破| 大发888怎么注册账号| 线上百家乐官网试玩|