娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

STM32單片機的八種IO口模式講解

發布者:Serendipity66最新更新時間:2024-09-04 來源: elecfans關鍵字:STM32  單片機  IO口模式 手機看文章 掃描二維碼
隨時隨地手機看文章

八種IO口模式

STM32有八種IO口模式,分別是:模擬輸入、浮空輸入、上拉輸入、下拉輸入、開漏輸出、推挽輸出、復用開漏輸出和復用推挽輸出。

wKgaomT8DECAKkFFAADW6lI_9Xo554.jpg

1、模擬輸入

GPIO_Mode_AIN模擬輸入,即關閉施密特觸發器,將電壓信號傳送到片上外設模塊(不接上下拉電阻)。

2、浮空輸入

GPIO_Mode_IN_FLOATING浮空輸入。浮空輸入狀態下,IO的電平狀態是不確定的,完全由外部輸入決定,如果在該引腳懸空的情況下,讀取該端口的電平是不確定的。

3、上下拉輸入

GPIO_Mode_IPD下拉輸入,GPIO_Mode_IPU上拉輸入。一般來講,上拉電阻為1K-10K,電阻越小,驅動能力越強。

電阻的作用:防止輸入端懸空,減少外部電流對芯片的干擾,限流,增加高電平輸出時的驅動能力。

當GPIO引腳無輸入時,上拉輸入在默認狀態下為高電平,下拉輸入在默認狀態下為低電平。

4、開漏輸出

GPIO_Mode_Out_OD開漏輸出,輸出端相當于三極管的集電極。要得到高電平狀態需要上拉電阻才行。適合于做電流型的驅動,其吸收電流的能力相對較強,一般20mA以內。

5、推挽輸出

GPIO_Mode_Out_PP推挽輸出,可以輸出高、低電平,連接數字器件。

6、復用開漏推挽輸出

GPIO_Mode_AF_OD復用開漏輸出,GPIO_Mode_AF_PP復用推挽輸出。可以理解為GPIO口被用作第二功能時的配置情況,即并非作為通用IO口使用。


IO模式選用

浮空輸入:可以做KEY識別,RX1。

上拉輸入:IO內部上拉電阻輸入。

下拉輸入:IO內部下拉電阻輸入。

模擬輸入:應用ADC模擬輸入,或者低功耗下省電。

開漏輸出:IO輸出0接GND,IO輸出1,懸空,需要外接上拉電阻,才能實現輸出高電平。當輸出為1時,IO口的狀態由上拉電阻拉高電平,但由于是開漏輸出模式,這樣IO口也就可以由外部電路改變為低電平或不變。可以讀IO輸入電平變化,實現C51的IO雙向功能。

推挽輸出:IO輸出0-接GND,IO輸出1 -接VCC,讀輸入值是未知的。

復用推挽輸出:片內外設功能,I2C的SCL、SDA。

復用開漏輸出:片內外設功能,TX1,MOSI,MISO.SCK.SS。


引腳配置方式

通常有5種方式使用某個引腳功能,它們的配置方式如下:

1、作為普通GPIO輸入:根據需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時不要使能該引腳對應的所有復用功能模塊。

2、作為普通GPIO輸出:根據需要配置該引腳為推挽輸出或開漏輸出,同時不要使能該引腳對應的所有復用功能模塊。

3、作為普通模擬輸入:配置該引腳為模擬輸入模式,同時不要使能該引腳對應的所有復用功能模塊。

4、作為內置外設的輸入:根據需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時使能該引腳對應的某個復用功能模塊。

5、作為內置外設的輸出:根據需要配置該引腳為復用推挽輸出或復用開漏輸出,同時使能該引腳對應的所有復用功能模塊。


關鍵字:STM32  單片機  IO口模式 引用地址:STM32單片機的八種IO口模式講解

上一篇:STM32F0系列MCU硬件電路外設設計
下一篇:基于STM32單片機的酒精濃度檢測系統設計

推薦閱讀最新更新時間:2025-04-16 16:15

STM32的8種IO口模式
一、推挽輸出:可以輸出高、低電平,連接數字器件;推挽結構一般是指兩個三極管分別受兩個互補信號的控制,總是在一個三極管導通的時候另一個截止。高低電平由IC的電源決定。 推挽電路是兩個參數相同的三極管或MOSFET,以推挽方式存在于電路中,各負責正負半周的波形放大任務,電路工作時,兩只對稱的功率開關管每次只有一個導通,所以導通損耗小、效率高。輸出既可以向負載灌電流,也可以從負載抽取電流。推拉式輸出級既提高電路的負載能力,又提高開關速度。 二、開漏輸出:輸出端相當于三極管的集電極,要得到高電平狀態需要上拉電阻才行。適合于做電流型的驅動,其吸收電流的能力相對強(一般20mA以內)。開漏形式的電路有以下幾個特點: 1、利用外
[單片機]
stm32單片機如何實現一個按鍵切換兩個程序?
作為一款功能強大的微控制器,STM32單片機可以支持多種應用場景,其中一個實用的功能是按鍵切換程序。通過按下按鍵,可以實現從一個程序切換到另外一個程序,非常實用。下面,我們將詳細介紹如何在STM32單片機上實現一個按鍵切換兩個程序。 一、 STM32單片機按鍵切換原理 為了實現按鍵切換兩個程序,我們首先需要了解STM32單片機按鍵的工作原理。STM32單片機在針腳上集成了GPIO模塊,可以控制數字輸入輸出。通過對GPIO的配置,我們可以實現單片機對按鍵的讀取。 按鍵是一類普通的電子元器件,通常采用機械結構實現,包括按鍵頭、彈簧、觸點等部分。當按下按鍵時,觸點短接,導通電路,單片機可以檢測到電平變化,從而實現對按鍵的檢測。 在STM
[單片機]
STM32單片機的ISP一鍵下載
ISP就是In System Programming在線系統編程,最常用的就是通過單片機的串口將程序HEX文件下載到內部FLASH中,單片機重啟時就執行內部FLASH中的程序。根據STM32的數據手冊,STM32的啟動方式和BOOT引腳有關 MCUISP軟件是STM32單片機ISP下載程序的軟件,就像我們用STC單片機ISP下載程序時通過STCISP軟件一樣,下載程序時的步驟都是類似的,無非就是選擇好串口和波特率,加載HEX文件,選擇附加選項后再燒錄程序即可。 ISP普通燒錄 根據上表所示,我們用STM32的串口下載程序的步驟為: 1.電腦通過USB線連接STM32的串口(因為在STM32開發板上已經設計了USB轉串口電路,常
[單片機]
STM32單片機-操作訪問內部Flash
目錄: 1、STM32 FLASH操作流程 2、Flash基本知識點 3、OK,上干貨,上代碼 ------------------------------------------------------------------------------------------------- STM32中存儲區分為:隨機存取存儲器RAM和只讀存儲器ROM。 其中: RAM為常說的內存,比如手機的2G內存4G內存等,就是程序跑起來的時候所占用的存儲空間,特點是掉電數據丟失。 ROM為常說的硬盤,比如手機的64G和128G等,可以簡單的理解為硬盤的存儲空間,特點是掉電數據不丟失,所以又叫“非易失性存儲器件”。 ROM又包含:
[單片機]
<font color='red'>STM32</font><font color='red'>單片機</font>-操作訪問內部Flash
單片機STM32時鐘圖文理解
其中,高速時鐘(HSE和HSI)提供給芯片主體的主時鐘.低速時鐘(LSE和LSI)只是提供給芯片中的RTC(實時時鐘)及獨立看門狗使用,圖中可以看出高速時鐘也可以提供給RTC。內部時鐘是在芯片內部RC振蕩器產生的,起振較快,所以時鐘在芯片剛上電的時候,默認使用內部高速時鐘。而外部時鐘信號是由外部的晶振輸入的,在精度和穩定性上都有很大優勢,所以上電之后我們再通過軟件配置,轉而采用外部時鐘信號. 高速外部時鐘(HSE):以外部晶振作時鐘源,晶振頻率可取范圍為4~16MHz,我們一般采用8MHz的晶振。 高速內部時鐘(HSI): 由內部RC振蕩器產生,頻率為8MHz,但不穩定。 低速外部時鐘(LSE):以外部晶振作時鐘源,主
[單片機]
<font color='red'>單片機</font><font color='red'>STM32</font>時鐘圖文理解
基于STM32單片機對跑馬燈的控制
基于學習STM32有一段時間了,特意寫下一篇關于一個簡單的跑馬燈 的例程,梳理思路,也希望我自己的理解能幫到一些學習STM32的初學者 //======================================================// 首先,GPIO的配置種類有8種。分別為模擬輸入、浮空輸入,上拉輸入、下拉輸入、開漏輸出、推挽輸出、復用開漏輸出、復用推挽輸出。 下面將以實例的方式講解GPIO的設置及實現過程。 事例1:跑馬燈實驗 跑馬燈實驗的功能:LED燈進行有規律閃爍。(下面的LED燈的數量都為2個,所以關于寄存器的配置也將以兩組的方式進行講解) 首先要知道普通的IO就兩種功能一個為輸入,一個為輸出
[單片機]
基于<font color='red'>STM32</font><font color='red'>單片機</font>對跑馬燈的控制
STM32單片機如何通過定時器的控制輸出PWM
STM32F103ZET6里共有8個定時器,其中高級定時器有TIM1-TIM5、TIM8,共6個。 我這里輸出PWM的定時器是TIM2,空閑的定時器是TIM3。以TIM2為主定時器,TIM3為從定時器對TIM2的輸出脈沖數進行計數。 查表可知,TIM3為從定時器選擇TIM2為觸發源,需要配置TS=001,即選擇ITR1。 實現通過定時器控制輸出PWM個數的功能,可以有如下一種配置方式: void TIM2_Mas te r__TIM3_Slave_Configuration(u32 PulseFrequency) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OC
[單片機]
<font color='red'>STM32</font><font color='red'>單片機</font>如何通過定時器的控制輸出PWM
STM32單片機簡易定時器PWM輸出
由于RCC- CFGR時鐘配置寄存器中 APB1設置為2分頻,所以TIM3就是其倍頻==72M 上次我發表的STM32單片機自帶PWM輸出實驗大家可以參考學習: http://www.51hei.com/mcu/2123.html ,這次是用定時器產生的pwm. //----------------------------------定時器-----------time.c----------- #include time.h void time_init(u16 arr,u16 psc) { RCC- APB1ENR|=1 1; //TIM2定時器時鐘使能 TIM3- ARR=arr; //設置重裝
[單片機]
<font color='red'>STM32</font><font color='red'>單片機</font>簡易定時器PWM輸出
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 桐城市| 仙居县| 右玉县| 育儿| 莱阳市| 丽江市| 广平县| 和顺县| 阳江市| 周宁县| 泰州市| 南丰县| 松阳县| 平昌县| 绥芬河市| 东乌珠穆沁旗| 宣恩县| 海林市| 青海省| 昆明市| 上栗县| 达尔| 江永县| 抚顺市| 韶关市| 新河县| 阆中市| 长岭县| 邵阳县| 遵义县| 大洼县| 芦山县| 阿克| 通河县| 商丘市| 巩留县| 南康市| 额尔古纳市| 白水县| 沧源| 丰台区|