學號:14020520011 姓名:孟天玉
【嵌牛導讀】:基于STM32的單片機部分基礎學習
【嵌牛鼻子】:學習筆記、單片機、STM32
【嵌牛提問】:STM32有哪些基礎模塊?能實現(xiàn)什么功能?
【嵌牛正文】:
一.GPIO
GPIO中文簡稱“通用I/O口”,是芯片內(nèi)部資源訪問外界的通道,I/O口可以通過軟件自定義實現(xiàn)不同的功能復用。
STM32F103共有112個通用I/O口,他們分為7組:PA~PG,每組16根線。其中一部分I/O口是專用的,但大部分可以進行復用。
二.GPIO工作方式
STM32的GPIO非常強大,共有4種輸入和4種輸出方式。
輸入方式:浮空輸入,上拉輸入,下拉輸入,模擬輸入
輸出方式:開漏輸出,開漏復用功能,推挽式輸出,推挽式復用功能
STM32大部分I/O口兼容5V的TTL電平,這些引腳可以直接與5V器件相連,極大地簡化了電路的設計。
一個I/O口主要包含3種電路:輸入、輸出數(shù)據(jù)寄存器電路,輸入、輸出數(shù)據(jù)驅(qū)動電路,ESD靜電保護電路。
ESD靜電保護二極管作用:如果二極管的上拉電源接到內(nèi)部的VDD,即內(nèi)部3.3V,那么該管腳不兼5V TTL電平;反之如果接的是VDD-FT,即內(nèi)部5V,該管腳兼容5V TTL電平,這就解釋了帶FT標記的引腳可以兼容5V電平的原因。
下面是各種模式的說明:
1. 浮空輸入模式:
此輸入的最大特點是MCU讀到的引腳狀態(tài)完全隨外部I/O口電平變化,一般用于按鍵輸入。
2. 上拉輸出模式:
此模式干擾能力強,適合接地信號的輸入。與浮空模式不同在于I/O端口與TTL施密特觸發(fā)器間接入了30K~50K的上拉電阻,提高了噪聲容限。
3. 下拉輸入模式
于I/O端口與TTL施密特觸發(fā)器間接入了30K~50K的下拉電阻,適合有效信號為高電平值信號的接入。
4. 模擬輸入模式:
此模式是將I/O口上的信號作為模擬信號直接輸?shù)絊TM32內(nèi)部的ADC上,進行采樣轉(zhuǎn)換。
5. 開漏輸出模式
開漏輸出端相當于三極管的集電極,要得到高電平狀態(tài)需要上拉電阻才行,適用于電流型的驅(qū)動。此模式下I/O端口可以實現(xiàn)雙向通信口功能。
此模式有以下特點:
(1)電平匹配:用來匹配外部不同的電平傳輸,只需改變外部上拉電源的電壓,就可以輸出用戶自定義的電平值。
(2)線與功能:容易實現(xiàn)多個I/O口的“線與”功能,只要將這些I/O口連接在一起,加上上拉電阻即可。線與邏輯:即兩個輸出端(包括兩個以上)直接互連就可以實現(xiàn)“AND”的邏輯功能。
6. 開漏復用輸出模式
此模式與開漏輸出模式不同點在于:“輸入控制電路”的輸入端接的是STM32內(nèi)部的特定功能外設。
7. 推挽式輸出模式
此模式下I/O可以輸出高、低電平。本質(zhì)是兩個三極管分別受兩個互補信號控制,同一時刻只有一個三極管導通,另一個截止。
8. 推挽復用輸出模式
此模式與推挽模式區(qū)別為:“輸入控制電路”的輸入端接的是STM32內(nèi)部的外設電路。
而開漏輸出與推挽輸出異同可由下圖看出:
