国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫的GPIO通用輸入輸出口

這篇具有很好參考價值的文章主要介紹了嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫的GPIO通用輸入輸出口。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


(推薦先看文章:《 嵌入式-32單片機-GPIO推挽輸出和開漏輸出》)
下文圖都是從參考手冊借閱:STM32F10xxx(中文),大概頁數(shù)是110/775左右

一:GPIO輸入輸出原理

GPIO(General Purpose Input Output)通用輸入輸出口
可配置為8種輸入輸出模式
引腳電平:0V~3.3V,部分引腳可容忍5V(有FT標(biāo)識)
輸出模式下可控制端口輸出高低電平,用以驅(qū)動LED、控制蜂鳴器、模擬通信協(xié)議輸出時序等
輸入模式下可讀取端口的高低電平或電壓,用于讀取按鍵輸入、外接模塊電平信號輸入、ADC電壓采集、模擬通信協(xié)議接收數(shù)據(jù)等

二:GPIO基本結(jié)構(gòu)

嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫的GPIO通用輸入輸出口,江科大-Stm32-學(xué)習(xí)筆記,嵌入式-STM32單片機,stm32,嵌入式硬件,mcu,單片機,#江科大,江科大stm32

  • 上圖是GPIO的基本結(jié)構(gòu)圖。在Stm32中,所有的GPIO都掛載在APB2外設(shè)總線上。每個GPIO模塊內(nèi),包括有寄存器、驅(qū)動器、引腳等 寄存器就是一段特殊的存儲器,內(nèi)核可以通過APB2總線對寄存器進行讀寫,從而完成輸出電平和讀取電平的功能。該寄存器的每一位都對應(yīng)一個引腳,由于STM32是32位的單片機,所以所有的寄存器都是32位的,也就是說只有寄存器的低16位對應(yīng)上了相應(yīng)的GPIO口(好多時候高16位置0,低16位才真正控制寄存器)

  • 驅(qū)動器就是增加信號的驅(qū)動能力的。

注意:stm32F103c8t6芯片上48個引腳,除了基本的電源和晶振等維持系統(tǒng)外,分別包括PA0~PA15、PB0-PB15、PC0 ~PC15。

三:GPIO位結(jié)構(gòu)

嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫的GPIO通用輸入輸出口,江科大-Stm32-學(xué)習(xí)筆記,嵌入式-STM32單片機,stm32,嵌入式硬件,mcu,單片機,#江科大,江科大stm32
上圖分為輸入部分和輸出部分,看虛線框

輸入部分:

  • 整個框架從左往右依次是寄存器、驅(qū)動器、IO引腳,從上到下分為“輸入”、“輸出”。
  • 最右側(cè)的IO引腳上兩個保護二極管,其作用是對IO引腳的輸出電壓進行限幅在0~3.3V之間,進而可以避免過高的IO引腳輸入電壓對電路內(nèi)部造成傷害。Vdd = 3.3V,Vss = 0V。
  • 過壓保護:當(dāng)I引腳輸入10V時,電壓從輸入引腳到保護二極管再到Vdd,有電壓差就能流通,這叫過壓保護。
  • 低壓保護:當(dāng)I引腳輸入低于0V時,這叫做負(fù)電壓,此時,電流流向為:從Vss →I引腳,這叫低壓保護。
  • 輸入驅(qū)動器的上、下拉電阻(圖中像彈簧那兩根):相應(yīng)的開關(guān)可以通過程序進行配置,分別有上拉輸入模式(上開關(guān)導(dǎo)通,下開關(guān)斷開)、下拉輸入模式(下開關(guān)導(dǎo)通&上開關(guān)斷開)、浮空輸入模式(兩個開關(guān)都斷開)。
    下拉電阻的作用幾時給引腳輸入提供一個默認(rèn)的輸入電平,進而避免引腳懸空導(dǎo)致的不確定。都屬于弱上拉,弱下拉。

  • 輸入驅(qū)動器的觸發(fā)器:這里是用肖特基管構(gòu)成的施密特觸發(fā)器。只有高于上限、低于下限電壓才進行變化,作用是對輸入電壓進行整形,可以消除電壓波紋、使電壓的上升沿/下降沿更加陡峭。也就是說,stm32的GPIO的端口會自動對輸入的數(shù)字電壓進行整形。比如像那種方波在變化的那個瞬間進行消抖,20ms.

  • “模擬輸入”、“復(fù)用功能輸入”:都是連接到片上外設(shè)的一些端口,前者用于ADC等需要模擬輸入的外設(shè),后者用于串口輸入引腳等需要數(shù)字量的外設(shè)。

輸出部分:

  • 輸出數(shù)據(jù):可以由輸出數(shù)據(jù)寄存器(普通的IO口輸出)、片上外設(shè)來指定,數(shù)據(jù)選擇器控制數(shù)據(jù)來源。
  • 位設(shè)置/清除寄存器:單獨操作輸出數(shù)據(jù)的某一位,而不影響其他位。
  • 驅(qū)動器中的MOS管:MOS管相當(dāng)于一種開關(guān),輸出信號來控制這兩個MOS管的開啟狀態(tài),進而輸出信號。可以選擇推挽、開漏、關(guān)閉三種輸出方式(推薦先看文章:《嵌入式-32單片機-GPIO推挽輸出和開漏輸出》),P-MOS相當(dāng)于Q1,N-MOS相當(dāng)于Q2
  • 推挽輸出模式:兩個MOS管均有效,stm32對IO口有絕對的控制權(quán),也稱為強推輸出模式。
  • 開漏輸出模式:P-MOS無效。只有低電平有驅(qū)動能力,高電平輸出高阻。
  • 關(guān)閉模式:兩個MOS管均無效,端口電平由外部信號控制。

補充說明:stm32如何將數(shù)據(jù)寫入寄存器?

  • 通過軟件的方式。由于stm32的寄存器只能進行整體讀寫,所以可以先將數(shù)據(jù)全部讀出,然后代碼中用&= 清零、|= 置位的方式改變單獨某一位的數(shù)據(jù),再將該寫后的數(shù)據(jù)寫回寄存器。此方法比較麻煩,效率不高,對于IO口進行操作不合適(這就是基于寄存器開發(fā)的麻煩之處,所以有了基于標(biāo)準(zhǔn)庫的開發(fā))

  • 通過位設(shè)置/清除寄存器。若對某一位 置1,只需對位設(shè)置寄存器的相應(yīng)位值1;若對某一位 清零,則對清除寄存器相應(yīng)位 清零。這種方式通過內(nèi)置電路完成操作,一步到位。

  • 通過讀寫stm32中的“位帶”區(qū)域。在stm32中,專門分配有一段地址區(qū)域,該區(qū)域映射了RAM和外設(shè)寄存器所有的位。讀寫這段地址中的數(shù)據(jù),就相當(dāng)于讀寫所映射位置的某一位。整體流程與51單片機中的位尋址作用差不多。本教程不涉及。

四:GPIO的八種模式

模式名稱 性質(zhì) 特征
浮空輸入 數(shù)字輸入 可讀取引腳電平,若引腳懸空則電平不確定,容易受外界影響所以需要連續(xù)驅(qū)動源
上拉輸入 數(shù)字輸入 可讀取引腳電平,內(nèi)部連接上拉電阻,懸空時默認(rèn)高電平
下拉輸入 數(shù)字輸入 可讀取引腳電平,內(nèi)部連接下拉電阻,懸空時默認(rèn)低電平
模擬輸入 模擬輸入 GPIO無效,會關(guān)閉數(shù)字輸入開啟模擬輸入,引腳直接接入內(nèi)部ADC(ADC專屬配置)
開漏輸出 數(shù)字輸出 可輸出引腳電平,高電平為高阻態(tài),低電平接Vss
推挽輸出 數(shù)字輸出 可輸出引腳電平,高電平接VDD,低電平接Vss
復(fù)用開漏輸出 數(shù)字輸出 由片上外設(shè)控制,高電平為高阻態(tài),低電平接Vss
復(fù)用推挽輸出 數(shù)字輸出 由片上外設(shè)控制,高電平接VDD,低電平接Vss

上表給出了GPIO的八種模式,通過配置GPIO的端口配置寄存器即可選擇相應(yīng)的模式。
嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫的GPIO通用輸入輸出口,江科大-Stm32-學(xué)習(xí)筆記,嵌入式-STM32單片機,stm32,嵌入式硬件,mcu,單片機,#江科大,江科大stm32

  1. 每一個端口的模式由四位進行控制,16個端口就需要64位,所以這里的配置寄存器有兩個(一個是端口低配置寄存器,一個是端口配置高寄存器),也就是兩個32位寄存器,即端口配置低寄存器、端口配置高寄存器。
  2. 輸入模式下,輸出無效;而輸出模式下,輸入有效。這是因為一個端口只能有一個輸出,但可以有多個輸入,所以直接將輸出信號輸入回去也沒問題。
    3.端口配置低寄存器低16位對應(yīng)16個引腳,高16位沒有使用;端口配置高寄存器,同樣是低16位對應(yīng)16個引腳,高16位沒有使用。

嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫的GPIO通用輸入輸出口,江科大-Stm32-學(xué)習(xí)筆記,嵌入式-STM32單片機,stm32,嵌入式硬件,mcu,單片機,#江科大,江科大stm32

端口位設(shè)置/清除寄存器的高16位進行位清除的,低16位是進行位設(shè)置的

寄存器:暫時記錄數(shù)據(jù)的模塊。

復(fù)用開漏/推挽輸出:引腳的控制權(quán)轉(zhuǎn)移到了片上外設(shè)
stm32串口默認(rèn)是半雙工的。

三極管可看成兩個二極管構(gòu)成(背靠背)

參考:B站STM32江協(xié)自動化&【哈工大虎慕】文章來源地址http://www.zghlxwxcb.cn/news/detail-797241.html

道友:相信別人,更要一百倍地相信自己。

到了這里,關(guān)于嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫的GPIO通用輸入輸出口的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 嵌入式-stm32-江科大-OLED調(diào)試工具

    嵌入式-stm32-江科大-OLED調(diào)試工具

    1.1 OLED顯示屏介紹 學(xué)習(xí)任何一門語言就需要進行調(diào)試,stm32調(diào)試方式主要有以下三種: 串口調(diào)試:通過串口,將調(diào)試信息發(fā)送到電腦端,電腦端使用串口調(diào)試助手顯示調(diào)試信息。 顯示屏調(diào)試:直接將顯示屏連接到單片機,將調(diào)試信息打印在顯示屏上。 Keil調(diào)試模式:借助Kei

    2024年01月21日
    瀏覽(33)
  • 嵌入式——新建STM32工程(標(biāo)準(zhǔn)庫)

    嵌入式——新建STM32工程(標(biāo)準(zhǔn)庫)

    目錄 一、初識標(biāo)準(zhǔn)庫 1.CMSIS標(biāo)準(zhǔn)及庫層級關(guān)系 2.庫文件介紹 (1)Libraries文件夾 ①CMSIS文件夾 ②STM32F10x_Std_Periph_Driver文件夾 ③ 在用庫建立一個完整的工程時,還需要添加stm32f10x_it.c、 stm32f10x_conf.h 和 system_stm32f10x.c文件 (2)Project文件夾 (3)Utilities文件夾 3.庫各文件之間的關(guān)

    2024年01月23日
    瀏覽(91)
  • 嵌入式畢設(shè)分享 基于單片機的智能音響設(shè)計與實現(xiàn) -物聯(lián)網(wǎng) 嵌入式 stm32

    嵌入式畢設(shè)分享 基于單片機的智能音響設(shè)計與實現(xiàn) -物聯(lián)網(wǎng) 嵌入式 stm32

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年02月22日
    瀏覽(38)
  • 嵌入式畢設(shè)分享 基于單片機的風(fēng)速測量系統(tǒng) - 物聯(lián)網(wǎng) 嵌入式 stm32 arduino

    嵌入式畢設(shè)分享 基于單片機的風(fēng)速測量系統(tǒng) - 物聯(lián)網(wǎng) 嵌入式 stm32 arduino

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年02月20日
    瀏覽(31)
  • 【項目設(shè)計】基于STM32人臉識別系統(tǒng) - 單片機 物聯(lián)網(wǎng) 嵌入式

    【項目設(shè)計】基于STM32人臉識別系統(tǒng) - 單片機 物聯(lián)網(wǎng) 嵌入式

    項目設(shè)計主要是對于所學(xué)知識的整體回顧,需要結(jié)合各個學(xué)科,才能做出達到符合標(biāo)準(zhǔn)的設(shè)計。 文章的目的在分享優(yōu)質(zhì)的項目以及項目經(jīng)驗,提供設(shè)計思路,歡迎交流與指正不足之處。 由于人臉識別技術(shù)具有無需接觸、安全性高、可靠性高等優(yōu)點,在身份認(rèn)證領(lǐng)域具有廣闊

    2024年01月21日
    瀏覽(98)
  • stm32畢設(shè)分享 基于stm32的便攜用電功率統(tǒng)計系統(tǒng) -物聯(lián)網(wǎng) 嵌入式 單片機

    stm32畢設(shè)分享 基于stm32的便攜用電功率統(tǒng)計系統(tǒng) -物聯(lián)網(wǎng) 嵌入式 單片機

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年02月22日
    瀏覽(23)
  • STM32G431RB--基于HAL庫(藍(lán)橋杯嵌入式賽前梳理)

    明天就進行藍(lán)橋杯的比賽了,最后一天再重新梳理一下各個模塊的使用和代碼的編寫。 如果各個模塊的MX配置是根據(jù)我之前發(fā)的來的,那么這篇文章中的代碼完全適用;如不是,原理部分也是相同的,代碼部分適用,可以自行判斷,作為一個參考。 引腳: 1.控制LED燈亮滅時需

    2023年04月08日
    瀏覽(18)
  • 畢設(shè)開源 基于stm32的智能平衡小車 - 單片機 物聯(lián)網(wǎng)嵌入式

    畢設(shè)開源 基于stm32的智能平衡小車 - 單片機 物聯(lián)網(wǎng)嵌入式

    文章目錄 0 前言 1 項目背景 2 設(shè)計思路 3 硬件設(shè)計 4 軟件設(shè)計 4.2 直立控制程序設(shè)計 4.3 速度控制程序設(shè)計 4.4 方向控制程序設(shè)計 4.5 關(guān)鍵代碼 5 最后 ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這

    2024年02月22日
    瀏覽(30)
  • 【畢業(yè)設(shè)計】基于RFID的門禁系統(tǒng) - 單片機 物聯(lián)網(wǎng) 嵌入式 stm32

    【畢業(yè)設(shè)計】基于RFID的門禁系統(tǒng) - 單片機 物聯(lián)網(wǎng) 嵌入式 stm32

    Hi,大家好,這里是丹成學(xué)長,今天向大家介紹一個 如何使用RFID技術(shù)構(gòu)建一個單片機門禁系統(tǒng) 基于RFID的門禁系統(tǒng) 大家可用于 課程設(shè)計 或 畢業(yè)設(shè)計 單片機-嵌入式畢設(shè)選題大全及項目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 本篇博客,學(xué)長先向大家介紹射頻識別

    2024年02月03日
    瀏覽(71)
  • 畢業(yè)設(shè)計 - 基于STM32的智能路燈設(shè)計與實現(xiàn) - 物聯(lián)網(wǎng) 嵌入式 單片機

    畢業(yè)設(shè)計 - 基于STM32的智能路燈設(shè)計與實現(xiàn) - 物聯(lián)網(wǎng) 嵌入式 單片機

    Hi,大家好,今天向大家介紹一個 單片機項目 基于STM32的智能路燈設(shè)計與實現(xiàn) 大家可用于 課程設(shè)計 或 畢業(yè)設(shè)計 ?? 項目分享與指導(dǎo): https://gitee.com/sinonfin/sharing 每當(dāng)夜幕降臨,城市中各種各樣、色彩繽紛的路燈亮起,為城市披上了一層絢麗的外衣。但在這絢麗的外表下則隱

    2024年02月05日
    瀏覽(99)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包