一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

汽車玩家 ? 來(lái)源:HACK實(shí)驗(yàn)室 ? 作者:HACK實(shí)驗(yàn)室 ? 2020-05-03 18:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近有個(gè)朋友在設(shè)計(jì)低功耗設(shè)備,用的是STM32的主控,他知道我做過(guò)很多類似的超低功耗項(xiàng)目,于是向我咨詢了一些問(wèn)題,其中就包括I/O口的幾種工作模式。今天我就詳細(xì)的來(lái)總結(jié)一下這幾種工作模式,讓大家在以后的設(shè)計(jì)中知其然也知其所以然。

先說(shuō)說(shuō)GPIO

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

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

四種不同的輸出模式

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

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

開(kāi)漏輸出:該模式下引腳就相當(dāng)于連接到了上圖NMOS的漏極,PMOS關(guān)閉去掉不存在。這時(shí)該引腳只能輸出低電平,不能輸出高電平,需要引腳加上拉電阻,才能得到高電平。這時(shí)一定有小伙伴疑惑,這東西沒(méi)有推挽輸出好用啊,錯(cuò)!開(kāi)漏輸出是有一些特別的優(yōu)點(diǎn)的,比如:1、可用于連接與主控電平不匹配的器件,只需要將上拉電阻的上拉端連接到對(duì)方電平即可;2、以小博大,利用外部電路的驅(qū)動(dòng)能力,減小內(nèi)部電流,內(nèi)部只需要很小的柵極驅(qū)動(dòng)電流。缺點(diǎn)就是會(huì)有上升沿的延時(shí),因?yàn)橛猩侠娮璧脑?,這一點(diǎn)大家可以去閱讀一下我的上一篇關(guān)于電平匹配的文章,里面有介紹。

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

復(fù)用推挽輸出、復(fù)用開(kāi)漏輸出:顧名思義該模式下就是將引腳復(fù)用為其他功能,不再是簡(jiǎn)單的GPIO。像我們常用的UART、SPI等的輸出引腳就是復(fù)用的推挽輸出,而我們常用的I2C就是復(fù)用的開(kāi)漏輸出,這時(shí)大家就應(yīng)該知道為什么我們?cè)谟肐2C的時(shí)候需要上拉電阻了吧。這里給大家埋個(gè)伏筆——用I2C時(shí)為什么要開(kāi)漏呢?知道的小伙伴可以在留言區(qū)回復(fù),后面有機(jī)會(huì)分析I2C時(shí)我會(huì)詳細(xì)和大家來(lái)說(shuō)。

四種不同的輸入模式

浮空輸入:這種輸入模式一般多用于檢測(cè)外部高低電平狀態(tài),比如按鍵等。大家結(jié)合下面的IO內(nèi)部圖來(lái)看,浮空輸入時(shí)上下拉電阻都沒(méi)有連接,引腳電平狀態(tài)不確定,如果引腳懸空時(shí)這種模式下讀出來(lái)的數(shù)據(jù)是沒(méi)意義的。

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

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

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

補(bǔ)充說(shuō)明些東西

關(guān)于IO引腳內(nèi)部的兩個(gè)保護(hù)二極管,很久以前看到有人說(shuō)是用來(lái)鉗位的,后來(lái)我在參加ST的研討會(huì)時(shí)問(wèn)過(guò)官方,官方答復(fù)說(shuō)并不是用于鉗位的而是用于做ESD保護(hù)的。當(dāng)引腳作為ADC輸入的時(shí)候我們必須保證輸入模擬信號(hào)不超過(guò)3.6V,5V是不可以的。

上面說(shuō)了芯片引腳內(nèi)部有二極管保護(hù),但是我建議大家在做設(shè)計(jì)時(shí)如果引腳引出板外最好格外再加TVS二極管來(lái)做加強(qiáng)保護(hù),因?yàn)橐_連出板外很容易受靜電等外界因素傷害。比如下載接口,我在空間充足的時(shí)候都會(huì)放上一個(gè)SOT-23的TVS二極管來(lái)做保護(hù)。

總結(jié)

到這里大家會(huì)發(fā)現(xiàn)我今天所講的都是硬件層面的,而非軟件層面上的具體設(shè)置。其實(shí)如果大家從硬件層面搞懂這幾種模式,軟件上就簡(jiǎn)單了,按照datasheet上面的說(shuō)明進(jìn)行配置就可以了。

最后來(lái)說(shuō)一下近況,臨近年底工作上比較忙,之前說(shuō)的幾個(gè)項(xiàng)目都跳票了,實(shí)在抱歉。但是大家不要擔(dān)心,忙過(guò)這會(huì)我會(huì)騰出更多時(shí)間投身于開(kāi)源項(xiàng)目,2020年我給自己制定的目標(biāo)之一就是做更多的開(kāi)源項(xiàng)目與大家分享。

最后的最后,感謝支持我淘寶店鋪“HACK實(shí)驗(yàn)室”的朋友們!

在售的LED矩陣時(shí)鐘

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

    關(guān)注

    6067

    文章

    44997

    瀏覽量

    650734
  • STM32
    +關(guān)注

    關(guān)注

    2295

    文章

    11032

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    低功耗單片機(jī)工作模式是怎樣的?看完這篇你就懂了!

    在物聯(lián)網(wǎng)、可穿戴設(shè)備、智能儀表等領(lǐng)域,低功耗單片機(jī)工作模式是設(shè)備延長(zhǎng)續(xù)航能力的核心技術(shù)支撐。這類單片機(jī)通過(guò)精細(xì)化的電源管理機(jī)制,在保證核心功能運(yùn)行的前提下,最大限度降低能耗。其工作
    的頭像 發(fā)表于 07-14 10:39 ?136次閱讀
    低功耗<b class='flag-5'>單片機(jī)工作</b><b class='flag-5'>模式</b>是怎樣的?看完這篇你就懂了!

    STM32F10xxx單片機(jī)編程手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F10xxx單片機(jī)編程手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-14 14:56 ?10次下載

    STM32F103x8 STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)

    STM32F103x8STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)
    發(fā)表于 04-14 14:55 ?2次下載

    STM32項(xiàng)目分享:STM32智能語(yǔ)音臺(tái)燈

    —項(xiàng)目簡(jiǎn)介1.功能詳解STM32智能語(yǔ)音臺(tái)燈功能如下:1.STM32F103C8T6單片機(jī)系統(tǒng)板作為主控單元2.按鍵切換模式,支
    的頭像 發(fā)表于 03-15 10:02 ?1433次閱讀
    <b class='flag-5'>STM32</b>項(xiàng)目分享:<b class='flag-5'>STM32</b>智能語(yǔ)音臺(tái)燈

    STM32單片機(jī)最小系統(tǒng)電路設(shè)計(jì)

    單片機(jī)最小系統(tǒng)是指用最少的電路組成單片機(jī)可以工作的系統(tǒng),通常最小系統(tǒng)包含:電源電路、時(shí)鐘電路、復(fù)位電路、調(diào)試/下載電路,對(duì)于STM32還需要啟動(dòng)選擇電路。總之,剛開(kāi)始如果不太懂電路的話
    的頭像 發(fā)表于 03-12 14:09 ?1.2w次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>最小系統(tǒng)電路設(shè)計(jì)

    ads7886的輸出接口 *CS SDO SCLK可以直接連接到單片機(jī)I/O上嗎?

    請(qǐng)問(wèn)一下,ads7886的輸出接口 *CSSDOSCLK 可以直接連接到單片機(jī)I/O上,還是一定要上拉一個(gè)電阻然后在連接單片機(jī)I/
    發(fā)表于 02-08 07:08

    單片機(jī)I/O接口的傳輸方式

    單片機(jī)(Microcontroller Unit,MCU)作為嵌入式系統(tǒng)的核心部件,其輸入輸出(Input/Output,I/O)接口是實(shí)現(xiàn)與外部設(shè)備數(shù)據(jù)交換的關(guān)鍵。I/
    的頭像 發(fā)表于 02-02 15:56 ?1080次閱讀

    單片機(jī)Debug與仿真區(qū)別

    是指在軟件或硬件開(kāi)發(fā)過(guò)程中,通過(guò)特定的工具和技術(shù)來(lái)查找、診斷和修復(fù)錯(cuò)誤的過(guò)程。在單片機(jī)開(kāi)發(fā)中,Debug通常涉及到以下幾個(gè)方面: 硬件調(diào)試 :檢查單片機(jī)的硬件連接是否正確,包括電源、時(shí)鐘、I/
    的頭像 發(fā)表于 12-19 09:47 ?936次閱讀

    STM32單片機(jī)的特點(diǎn)介紹

    和易用的工具,再配合強(qiáng)大的功能,在行業(yè)中享有盛譽(yù)。 STM32單片機(jī)的特點(diǎn)主要體現(xiàn)在以下幾個(gè)方面: STM32擁有強(qiáng)大的內(nèi)核。它采用了ARM32位Cortex-M3 CPU,最高工作
    的頭像 發(fā)表于 09-25 17:19 ?4210次閱讀

    單片機(jī)io口的四種工作狀態(tài)

    單片機(jī)I/O工作狀態(tài)是單片機(jī)編程和硬件操作中非常重要的一部分,它決定了單片機(jī)如何與外部設(shè)備進(jìn)
    的頭像 發(fā)表于 09-14 14:24 ?3828次閱讀

    stm32單片機(jī)用什么軟件編程

    STM32單片機(jī)是一種廣泛應(yīng)用于嵌入式系統(tǒng)領(lǐng)域的微控制器,具有高性能、低功耗、豐富的外設(shè)接口等特點(diǎn)。要對(duì)STM32單片機(jī)進(jìn)行編程,需要選擇合適的軟件工具。 概述
    的頭像 發(fā)表于 09-02 10:16 ?3501次閱讀

    單片機(jī)燒錄程序用什么軟件

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

    stm32單片機(jī)引腳介紹及功能

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

    stm32和51單片機(jī)的區(qū)別是什么

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

    單片機(jī)引腳懸空是什么電平

    單片機(jī)引腳懸空是指單片機(jī)I/O引腳在沒(méi)有連接任何外部電路的情況下,引腳的電平狀態(tài)。懸空引腳的電平狀態(tài)取決于單片機(jī)的內(nèi)部結(jié)構(gòu)和外部環(huán)境因素。
    的頭像 發(fā)表于 08-28 09:51 ?4877次閱讀