日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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的GPIO知識(shí)

硬件攻城獅 ? 來(lái)源:技術(shù)讓夢(mèng)想更偉大 ? 作者:技術(shù)讓夢(mèng)想更偉大 ? 2022-11-02 12:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 初學(xué)者重要提示

本文主要是以stm32H7系列為主。

對(duì)于不使用的引腳,推薦設(shè)置為模擬模式,懸空即可。

GPIO的速度等級(jí)高的時(shí)候,最好使能IO補(bǔ)償單元。

2 GPIO功能簡(jiǎn)介

STM32H7的GPIO特性如下:

輸出狀態(tài):開(kāi)漏/推挽 + 上拉/下拉電阻。

通過(guò)輸出數(shù)據(jù)寄存器(GPIOx_ODR)或者外設(shè)(GPIO設(shè)置為復(fù)用模式時(shí))輸出數(shù)據(jù)。

GPIO速度等級(jí)設(shè)置。

輸入狀態(tài):浮空,上拉/下拉,模擬。

通過(guò)輸入數(shù)據(jù)寄存器(GPIOx_IDR)或者外設(shè)(GPIO設(shè)置為復(fù)用模式)輸入數(shù)據(jù)。

通過(guò)寄存器GPIOx_BSRR實(shí)現(xiàn)對(duì)寄存器GPIOx_ODR的位操作。

通過(guò)配置寄存器GPIOx_LCKR的鎖機(jī)制,實(shí)現(xiàn)凍結(jié)IO口配置。

每?jī)蓚€(gè)時(shí)鐘周期就可以翻轉(zhuǎn)一次IO。

高度靈活的引腳復(fù)用功能,允許IO引腳既可以做GPIO也可以做功能復(fù)用。

3 GPIO功能模式分析(重要)

STM32H7的GPIO端口可以配置為如下的8種模式:

輸入浮空

輸入上拉

輸入下拉

模擬功能

具有上拉或下拉功能的開(kāi)漏輸出

具有上拉或下拉功能的推挽輸出

具有上拉或下拉功能的復(fù)用功能推挽

具有上拉或下拉功能的復(fù)用功能開(kāi)漏

由于上拉和下拉是可選配置,對(duì)應(yīng)的HAL庫(kù)配置使用下面6種就可以表示:

GPIO_MODE_INPUT 輸入模式

GPIO_MODE_OUTPUT_PP 推挽輸出

GPIO_MODE_OUTPUT_OD 開(kāi)漏輸出

GPIO_MODE_AF_PP 復(fù)用推挽

GPIO_MODE_AF_OD 復(fù)用開(kāi)漏

GPIO_MODE_ANALOG 模擬模式

3.1 推挽輸出

5617e5f0-5a68-11ed-a3b6-dac502259ad0.png

推挽電路是兩個(gè)參數(shù)相同的三極管或 MOSFET,以推挽方式存在于電路中。電路工作時(shí),兩只對(duì)稱的開(kāi)關(guān)管每次只有一個(gè)導(dǎo)通,導(dǎo)通損耗小、效率高。輸出既可以向負(fù)載灌電流,也可以從負(fù)載抽取電流。推拉式輸出級(jí)提高電路的負(fù)載能力。相對(duì)于開(kāi)漏輸出模式,推挽輸出最大優(yōu)勢(shì)是輸出高電平時(shí),上升時(shí)間快,電壓驅(qū)動(dòng)能力強(qiáng)。

3.2 開(kāi)漏輸出

562669fe-5a68-11ed-a3b6-dac502259ad0.png

開(kāi)漏端相當(dāng)于 MOS 管的漏極(三極管的集電極),要得到高電平狀態(tài)必須外接上拉電阻才行,因此輸出高電平的驅(qū)動(dòng)能力完全由外接上拉電阻決定,但是其輸出低電平的驅(qū)動(dòng)能力很強(qiáng)。開(kāi)漏形式的電路有以下幾個(gè)特點(diǎn):

輸出高電平時(shí)利用外部電路的驅(qū)動(dòng)能力,減少 IC 內(nèi)部的驅(qū)動(dòng)。

開(kāi)漏是用來(lái)連接不同電平的器件,匹配電平用的,因?yàn)殚_(kāi)漏引腳不連接外部的上拉電阻時(shí),只能輸出低電平。如果需要同時(shí)具備輸出高電平的功能,則需要接上拉電阻,很好的一個(gè)優(yōu)點(diǎn)是通過(guò)改變上拉電源的電壓,便可以改變傳輸電平。上拉電阻的阻值決定了邏輯電平轉(zhuǎn)換的速度。阻值越大,速度越低,功耗越小。

開(kāi)漏輸出提供了靈活的輸出方式,但是也有其弱點(diǎn),就是帶來(lái)上升沿的延時(shí)。因?yàn)樯仙厥峭ㄟ^(guò)外接上拉無(wú)源電阻對(duì)負(fù)載充電,所以當(dāng)電阻選擇小時(shí)延時(shí)就小,但功耗大;反之延時(shí)大功耗小。所以如果對(duì)延時(shí)有要求,則建議用下降沿輸出。

可以將多個(gè)開(kāi)漏輸出連接到一條線上。通過(guò)一只上拉電阻,在不增加任何器件的情況下,形成“與邏輯”關(guān)系,即“線與”??梢院?jiǎn)單的理解為:在所有引腳連在一起時(shí),外接一上拉電阻,如果有一個(gè)引腳輸出為邏輯 0,相當(dāng)于接地,與之并聯(lián)的回路“相當(dāng)于被一根導(dǎo)線短路”,所以外電路邏輯電平便為 0,只有都為高電平時(shí),與的結(jié)果才為邏輯 1。

3.3 復(fù)用推挽和開(kāi)漏

復(fù)用指的是GPIO切換到CPU內(nèi)部設(shè)備(比如SPI,I2C,UART等電路),也就是GPIO不是作為普通IO使用,是由內(nèi)部設(shè)備直接驅(qū)動(dòng)。推挽和開(kāi)漏的特征同上。

3.4 四種輸入模式

5630a144-5a68-11ed-a3b6-dac502259ad0.png

通過(guò)上面的引腳結(jié)構(gòu)圖可以得到如下三種方式

浮空輸入:CPU內(nèi)部的上拉電阻、下拉電阻均斷開(kāi)的輸入模式。

下拉輸入:CPU內(nèi)部的下拉電阻使能、上拉電阻斷開(kāi)的輸入模式。

上拉輸入:CPU內(nèi)部的上拉電阻使能、下拉電阻斷開(kāi)的輸入模式。

而模擬輸入模式是GPIO引腳連接內(nèi)部ADC

563ab300-5a68-11ed-a3b6-dac502259ad0.png

4 GPIO的拉電流負(fù)載和灌電流負(fù)載能力

這里先普及點(diǎn)小知識(shí),什么是拉電流負(fù)載,什么是灌電流負(fù)載。

拉電流負(fù)載:一種負(fù)載電流從驅(qū)動(dòng)門流向外電路,稱為拉電流負(fù)載。比如使用STM32H7的GPIO直接驅(qū)動(dòng)LED就是拉電流形式。

5642a376-5a68-11ed-a3b6-dac502259ad0.png

灌電流負(fù)載:負(fù)載電流從外電路流入驅(qū)動(dòng)門,稱為灌電流負(fù)載。比如下面這種形式的LED驅(qū)動(dòng)電路

564de420-5a68-11ed-a3b6-dac502259ad0.png

有了上面這些知識(shí)后再來(lái)看STM32H7的IO驅(qū)動(dòng)能力(截圖來(lái)自STM32H7參考手冊(cè)):

5658c142-5a68-11ed-a3b6-dac502259ad0.png

通過(guò)上面的截圖可知:STM32H7總的拉電流和灌電流不可超過(guò)140mA,單個(gè)引腳最大不可超過(guò)20mA,這個(gè)知識(shí)點(diǎn),大家要知道。

5 IO補(bǔ)償單元,用于高速

IO補(bǔ)償單元用于控制I/O通信壓擺率(tfall/ trise)以此來(lái)降低I/O噪聲。當(dāng)前STM32H7的速度等級(jí)可以配置為以下四種:

566b3980-5a68-11ed-a3b6-dac502259ad0.jpg

/** @defgroup GPIO_speed_define  GPIO speed define
  * @brief GPIO Output Maximum frequency
  * @{
  */  
#define  GPIO_SPEED_FREQ_LOW         ((uint32_t)0x00000000U)  /*!< Low speed     */
#define  GPIO_SPEED_FREQ_MEDIUM      ((uint32_t)0x00000001U)  /*!< Medium speed  */
#define  GPIO_SPEED_FREQ_HIGH        ((uint32_t)0x00000002U)  /*!< Fast speed    */
#define  GPIO_SPEED_FREQ_VERY_HIGH   ((uint32_t)0x00000003U)  /*!< High speed    */

566b3980-5a68-11ed-a3b6-dac502259ad0.jpg

使用后兩種速度等級(jí)的話,最好使能IO補(bǔ)償單元。

6 GPIO兼容CMOS和TTL電平

CMOS和TTL電平兼容問(wèn)題也是一個(gè)比較重要的知識(shí)點(diǎn)

567dc8b6-5a68-11ed-a3b6-dac502259ad0.png

7 不使用的引腳推薦設(shè)置為模擬模式

主要從功耗和防干擾考慮。

所有用作帶上拉電阻輸入的 I/O都會(huì)在引腳外部保持為低時(shí)產(chǎn)生電流消耗。此電流消耗的值可通過(guò)使用的靜態(tài)特性中給出的上拉 / 下拉電阻值簡(jiǎn)單算出。

對(duì)于輸出引腳,還必須考慮任何外部下拉電阻或外部負(fù)載以估計(jì)電流消耗。

若外部施加了中間電平,則額外的 I/O 電流消耗是因?yàn)榕渲脼檩斎氲?I/O。此電流消耗是由用于區(qū)分輸入值的輸入施密特觸發(fā)器電路導(dǎo)致。除非應(yīng)用需要此特定配置,否則可通過(guò)將這些I/O 配置為模擬模式以避免此供電電流消耗。ADC 輸入引腳應(yīng)配置為模擬輸入就是這種情況。

任何浮空的輸入引腳都可能由于外部電磁噪聲,成為中間電平或意外切換。為防止浮空引腳相關(guān)的電流消耗,它們必須配置為模擬模式,或內(nèi)部強(qiáng)制為確定的數(shù)字值。這可通過(guò)使用上拉 / 下拉電阻或?qū)⒁_配置為輸出模式做到。

綜上考慮,不使用的引腳設(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5621

    瀏覽量

    130461
  • STM32
    +關(guān)注

    關(guān)注

    2313

    文章

    11196

    瀏覽量

    374768
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1334

    瀏覽量

    56485

原文標(biāo)題:全面掌握stm32的GPIO,看這篇就可以了!

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    小白也能聽(tīng)懂的單片機(jī)知識(shí)路徑

    已經(jīng)掌握了51單片機(jī)的基礎(chǔ)知識(shí),包括編程邏輯、硬件接口等。這將有助于你更快地適應(yīng)STM32的學(xué)習(xí)節(jié)奏。 STM32學(xué)習(xí)要點(diǎn): 硬件平臺(tái):選擇合適的
    發(fā)表于 02-04 16:44

    【MCU學(xué)習(xí)】GPIO詳解

    本實(shí)驗(yàn)通過(guò)一個(gè)“小實(shí)驗(yàn)框架 GPIO Mode Lab”,在同一個(gè) GPIO 引腳上依次配置不同模式,并用 ADC 探頭測(cè)量電壓、同時(shí)讀取數(shù)字電平,系統(tǒng)化地觀察。
    的頭像 發(fā)表于 01-24 11:45 ?5159次閱讀
    【MCU學(xué)習(xí)】<b class='flag-5'>GPIO</b>詳解

    掌握 LuatIO:GPIO 復(fù)用模式初始化配置全流程解析

    在使用 LuatIO 進(jìn)行嵌入式應(yīng)用開(kāi)發(fā)時(shí),合理配置 GPIO 的復(fù)用功能是實(shí)現(xiàn)外設(shè)控制的前提。本文全面解析 GPIO 引腳由普通 IO 轉(zhuǎn)換為復(fù)用功能引腳的初始化流程,包括時(shí)鐘使能、模式選擇、速度
    的頭像 發(fā)表于 01-23 15:28 ?2618次閱讀
    <b class='flag-5'>掌握</b> LuatIO:<b class='flag-5'>GPIO</b> 復(fù)用模式初始化配置全流程解析

    全面解析貼片電阻的關(guān)鍵知識(shí)

    貼片電阻作為電子電路中不可或缺的基礎(chǔ)元件,憑借體積小、精度高、安裝便捷等優(yōu)勢(shì),廣泛應(yīng)用于新能源、消費(fèi)電子、工業(yè)控制等領(lǐng)域。以下從核心維度全面解析其關(guān)鍵知識(shí)
    的頭像 發(fā)表于 01-23 15:18 ?874次閱讀
    <b class='flag-5'>全面</b>解析貼片電阻的關(guān)鍵<b class='flag-5'>知識(shí)</b>

    嵌入式驅(qū)動(dòng)開(kāi)發(fā),需要掌握哪些技能?

    有經(jīng)驗(yàn)的老司機(jī)都知道,做嵌入式驅(qū)動(dòng)開(kāi)發(fā)需要掌握一系列的技能,包含編程、硬件、操作系統(tǒng)、調(diào)試等多個(gè)方面。 1、硬件知識(shí)熟悉原理圖:能看懂原理圖以及各種元器件的含義,以及PCB布局等。 了解
    發(fā)表于 01-20 16:46

    嵌入式應(yīng)掌握的幾種能力

    框圖、掌握基礎(chǔ)外設(shè)如:GPIO、UART、TIM、ADC、DAC、I2C、SPI的裸機(jī)編程及相關(guān)原理、應(yīng)用。 3. 操作系統(tǒng) 基本掌握操作系統(tǒng)相關(guān)知識(shí)。 先了解學(xué)習(xí)RTOS,如
    發(fā)表于 12-08 06:05

    Linux驅(qū)動(dòng)開(kāi)發(fā)的必備知識(shí)

    內(nèi)核基礎(chǔ)知識(shí): 1、熟悉 Linux 內(nèi)核的架構(gòu)、模塊系統(tǒng)、進(jìn)程管理、內(nèi)存管理等。 了解內(nèi)核的編譯和加載過(guò)程。 2、C編程技能: 精通 C 語(yǔ)言編程,包括指針操作、內(nèi)存管理、結(jié)構(gòu)體等
    發(fā)表于 12-04 07:58

    CW32嵌入式軟件開(kāi)發(fā)的必備知識(shí)

    全面的測(cè)試,確保軟件功能的正確性和穩(wěn)定性。 了解嵌入式系統(tǒng)的可靠性要求,能夠進(jìn)行軟件的可靠性測(cè)試和驗(yàn)證。 只有全面掌握這些知識(shí)并具備持續(xù)學(xué)習(xí)的能力,才能成為一名優(yōu)秀的嵌入式軟件開(kāi)發(fā)人員
    發(fā)表于 11-28 07:48

    GPIO、PWM、ADC,到底怎么區(qū)分?

    在嵌入式開(kāi)發(fā)中,我們經(jīng)常聽(tīng)到GPIO、PWM、ADC這些術(shù)語(yǔ)。初學(xué)者常常搞不清楚它們的區(qū)別和用途:“它們不是都是和電平有關(guān)嗎?為什么還要分這么多種?”今天,我們就把這些基礎(chǔ)概念講清楚,讓你在動(dòng)手開(kāi)發(fā)
    的頭像 發(fā)表于 11-14 10:28 ?1156次閱讀
    <b class='flag-5'>GPIO</b>、PWM、ADC,到底怎么區(qū)分?

    嵌入式需要掌握哪些核心技能?

    系統(tǒng)、外設(shè)驅(qū)動(dòng)(如GPIO、PWM、ADC)。 實(shí)踐工具:通過(guò)STM32開(kāi)發(fā)板學(xué)習(xí)外設(shè)驅(qū)動(dòng)開(kāi)發(fā),結(jié)合電路原理圖理解硬件設(shè)計(jì)。 企業(yè)需求:90%的崗位要求熟悉STM32等MCU,部分崗位涉及GD32
    發(fā)表于 10-21 16:25

    基于X-STM32MP-RBT01機(jī)器人控制板的技術(shù)解析與應(yīng)用指南

    STMicroelectronics X-STM32MP-RBT01機(jī)器人板,帶STSPIN948電機(jī)驅(qū)動(dòng)器IC,用于有刷直流電機(jī)。該板通過(guò)使用UART、I^2^C、PWM和GPIO連接的40引腳
    的頭像 發(fā)表于 10-16 10:18 ?1163次閱讀
    基于X-<b class='flag-5'>STM32</b>MP-RBT01機(jī)器人控制板的技術(shù)解析與應(yīng)用指南

    STM32 GPIO開(kāi)漏,NMOS導(dǎo)通能承受多大電流?

    STM32 GPIO 開(kāi)漏模式,NMOS 導(dǎo)通時(shí)能承受多大電流而不至于損壞。
    發(fā)表于 07-31 07:13

    RK3568驅(qū)動(dòng)指南|第十二篇 GPIO子系統(tǒng)-第130章 GPIO的調(diào)試方法

    RK3568驅(qū)動(dòng)指南|第十二篇 GPIO子系統(tǒng)-第130章 GPIO的調(diào)試方法
    的頭像 發(fā)表于 06-03 11:32 ?1498次閱讀
    RK3568驅(qū)動(dòng)指南|第十二篇 <b class='flag-5'>GPIO</b>子系統(tǒng)-第130章 <b class='flag-5'>GPIO</b>的調(diào)試方法

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
    的頭像 發(fā)表于 05-29 14:05 ?1235次閱讀
    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南<b class='flag-5'>GPIO</b>子系統(tǒng)<b class='flag-5'>GPIO</b>子系統(tǒng)API函數(shù)的引入

    迅為RK3568驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)

    迅為電子RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)
    的頭像 發(fā)表于 05-28 15:24 ?1564次閱讀
    迅為RK3568驅(qū)動(dòng)指南<b class='flag-5'>GPIO</b>子系統(tǒng) <b class='flag-5'>GPIO</b>操作函數(shù)實(shí)驗(yàn)
    揭西县| 万载县| 雷波县| 咸宁市| 静安区| 普洱| 和田市| 茂名市| 从化市| 高青县| 吴江市| 临潭县| 肃北| 太白县| 克东县| 荃湾区| 金阳县| 嘉义县| 蓬安县| 江孜县| 清涧县| 海淀区| 潢川县| 呼图壁县| 南和县| 连山| 南陵县| 海阳市| 乡城县| 河池市| 平凉市| 怀远县| 塔城市| 大城县| 黄山市| 德格县| 新平| 永和县| 邢台县| 勐海县| 广昌县|