18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

MCU單片機GPIO初始化該按什么順序配置?為什么初始化時有電平跳變?

聚沃科技 ? 2024-02-22 11:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

GPIO初始化時有時鐘配置、模式配置、輸出配置、復(fù)用配置,那么在編寫初始化代碼時,到底該按什么順序執(zhí)行呢?如果順序不當(dāng)那初始化過程可能會出現(xiàn)短暫的電平跳變。

第一步,初始化MCU外設(shè)時,一般都需要先打開對應(yīng)寄存器接口時鐘,所以GPIO時鐘使能一定是第一步,否則后面執(zhí)行的初始化配置無法寫入到寄存器中。

wKgZomXWuhOAfLXzAAAGPeiUtSA151.png

第二步,

對于外設(shè)復(fù)用的GPIO,則需要先配置好GPIO的重映射或者復(fù)用選擇器,讓這個GPIO先內(nèi)部連接到外設(shè)上;

如果我們先初始化GPIO復(fù)用模式那么可能默認的復(fù)用不是我們想要的外設(shè)功能,此時IO按默認外設(shè)的默認電平輸出,接著軟件又配置復(fù)用選擇器連接到想要的外設(shè),輸出電平再次發(fā)生變化,就會出現(xiàn)這個短暫的電平變化。

wKgaomXWuheAN1ChAAAIwCjFxkk707.png

對于普通輸出IO,則需要先配置好輸出狀態(tài)。

wKgaomXWuhyAVaxuAAAIGfWwVOg637.png

因為寄存器里默認輸出值是0,如果GPIO想要默認狀態(tài)高,那初始化完GPIO后再配置IO輸出高也會出現(xiàn)短暫的低電平導(dǎo)致電平變化。

wKgaomWp4AyAM7YPAABZRh7pnjE665.png

第三步,

初始化GPIO模式,其中一般有輸出、輸入、復(fù)用、模擬等幾種模式,有的芯片也可以配置內(nèi)部的上下拉電阻是否開啟,在輸出模式時還有GPIO驅(qū)動能力配置。

wKgZomXWuiaANRjNAAAGjb4uhxY775.png

當(dāng)然也有特殊情況,以TIMER PWM輸出為例,不同的PWM模式默認電平有高和低兩種情況,和TIMER配置有關(guān),此時我們按標(biāo)準順序配置好GPIO后再配置TIMER,則也可能出現(xiàn)電平變化,如果PWM用于控制功率開關(guān),則可能對電路帶來不良影響。所以對于這類外設(shè)默認電平可配的外設(shè),想要啟動外設(shè)工作前保持默認電平的話,我們就可以先初始化好外設(shè),再按標(biāo)準的順序配置GPIO。

wKgZomXWuiuAbiRGAAAvRbsiErs176.png

所以GPIO雖然簡單,但實際也有很多細節(jié),想要讓軟硬件更加可靠,需要抓住這些細節(jié)優(yōu)化軟硬件設(shè)計。

這里推薦大家購買我們紅楓派開發(fā)版,其中的例程和驅(qū)動程序就是考慮到細節(jié)設(shè)計的,可以方便大家二次開發(fā)產(chǎn)品。

wKgaomXWujCAOzfuAALFcXgsaKA003.png

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

    關(guān)注

    6072

    文章

    45267

    瀏覽量

    661152
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18420

    瀏覽量

    380668
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1302

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    定義IO初始化結(jié)構(gòu)體

    由上述IOPORT相關(guān)功能的枚舉類型我們可以知道,在對IOPORT模塊進行初始化時需要根據(jù)情況配置它們。因此我們定義一個IOPORT初始化的結(jié)構(gòu)體類型IOPORT_Init_t,它的成員包括了由上述所有枚舉類型所聲明的變量,因此
    的頭像 發(fā)表于 07-16 16:26 ?997次閱讀

    RT-Thread自動初始化詳解

    初始化函數(shù)不需要被顯式調(diào)用,只需要在函數(shù)定義處通過宏定義的方式進行申明,就會在系統(tǒng)啟動過程中被執(zhí)行,非常的方便。 1 普通初始化 前面也講了,我們在寫單片機的程序時,需要對硬件進行初始化
    的頭像 發(fā)表于 06-25 21:38 ?1.2w次閱讀
    RT-Thread自動<b class='flag-5'>初始化</b>詳解

    控制FPGA上電、配置以及初始化時

    config_done信號,pin被外部10K歐姆電阻上拉到高,F(xiàn)PGA是檢測到CONFIG_DONE為高電平后進入到初始化過程。FPGA的初始化時鐘源有兩種選擇,一種是FPGA內(nèi)部
    發(fā)表于 01-20 17:37

    51單片機對SAA7113初始化和控制的程序

      用51單片機對7113初始化和控制   SAA7113的初始化就是對寄存器配置合適的參數(shù),使其能夠有符合要求的輸出。寄存器配置通過I2
    發(fā)表于 09-08 11:50 ?2215次閱讀

    UCOS_III_配置初始化

    UCOS_III_配置初始化
    發(fā)表于 12-20 22:53 ?5次下載

    解析內(nèi)核初始化時根內(nèi)存盤的加載過程

    到內(nèi)存盤中作為根盤。 當(dāng)同時配置初始化內(nèi)存盤(Initail RAM Disk)時, 內(nèi)核在初始化時可以在安裝主盤之前, 通過引導(dǎo)程序所加載的initrd文件建立一個內(nèi)存初始化盤,
    發(fā)表于 11-08 10:40 ?0次下載

    Linux內(nèi)核初始化過程中的調(diào)用順序

    所有的__init函數(shù)在區(qū)段.initcall.init中還保存了一份函數(shù)指針,在初始化時內(nèi)核會通過這些函數(shù)指針調(diào)用這些__init函數(shù)指針,并在整個初始化完成后,釋放整個init區(qū)段(包括.init.text,.initcall.init等)。
    發(fā)表于 05-12 08:40 ?1900次閱讀

    51單片機定時器的初始化步驟詳細說明

    本文檔的主要內(nèi)容詳細介紹的是51單片機定時器的初始化步驟詳細說明。
    發(fā)表于 07-03 17:42 ?6次下載
    51<b class='flag-5'>單片機</b>定時器的<b class='flag-5'>初始化</b>步驟詳細說明

    51單片機各中斷初始化及子程序模板的詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是51單片機各中斷初始化及子程序模板的詳細資料說明。
    發(fā)表于 06-18 17:44 ?10次下載
    51<b class='flag-5'>單片機</b>各中斷<b class='flag-5'>初始化</b>及子程序模板的詳細資料說明

    藍橋杯單片機初始化原理和蜂鳴器關(guān)閉學(xué)習(xí)

    之前看視頻什么學(xué)習(xí)什么的,我總是靚仔疑惑哈,為什么P0等于什么什么,然后P2等于什么什么,然后就初始化好了,什么玩意,現(xiàn)在,我知道了原理藍橋杯的單片機和別的單片機不同之處就是在于這個初始化
    發(fā)表于 11-11 09:21 ?2次下載
    藍橋杯<b class='flag-5'>單片機</b>的<b class='flag-5'>初始化</b>原理和蜂鳴器關(guān)閉學(xué)習(xí)

    關(guān)于stm8l05x系列單片機rtc初始化問題

    關(guān)于stm8l05x系列單片機rtc初始化問題在開始項目時,用到的單片機是stm8l052的單片機,為了降低功耗就要在活躍停止模式和正常運行模式之間切換,即每隔一段時間用rtc喚醒,在
    發(fā)表于 11-26 14:36 ?10次下載
    關(guān)于stm8l05x系列<b class='flag-5'>單片機</b>rtc<b class='flag-5'>初始化</b>問題

    單片機問題總結(jié):MPU6050的DMP模塊初始化放在線程啟動之前

    單片機問題總結(jié):MPU6050的DMP模塊初始化放在RTOS線程啟動之前文章目錄單片機問題總結(jié):MPU6050的DMP模塊初始化放在RTOS線程啟動之前問題復(fù)現(xiàn)問題總結(jié)問題解決問題復(fù)現(xiàn)
    發(fā)表于 12-06 14:06 ?10次下載
    <b class='flag-5'>單片機</b>問題總結(jié):MPU6050的DMP模塊<b class='flag-5'>初始化</b>放在線程啟動之前

    解決ds1302外置時鐘模塊重復(fù)初始化時間問題(單片機掉電,模塊電池供電)

    ,物美價廉。一、問題描述DS1302時鐘模塊,通過單片機設(shè)置好時間后,由紐扣電池供電應(yīng)當(dāng)一直正常工作。但是單片機掉電再重新上電后,會導(dǎo)致模塊重復(fù)初始化,使時間回到起點,與實際需求不符。單片機
    發(fā)表于 01-17 12:39 ?6次下載
    解決ds1302外置時鐘模塊重復(fù)<b class='flag-5'>初始化時</b>間問題(<b class='flag-5'>單片機</b>掉電,模塊電池供電)

    ADC初始化測定方法

    測試ADC初始化時間的方法
    發(fā)表于 12-05 14:45 ?1次下載