一、STM32的4種輸入模式
輸入浮空:此模式下該引腳的高低電平由外部決定,用于讀取外部電平狀態。
輸入上拉:此模式下該引腳浮空時電平狀態為高電平,如果外部對該引腳施加一個低電平,會改變該引腳狀態為低電平。
輸入下拉:此模式下該引腳浮空時電平狀態為低電平,如果外部對該引腳施加一個高電平,會改變該引腳狀態為高電平。
模擬輸入:此模式下可以輸入模擬信號,對齊進行采樣轉化為數字信號。
二、STM32的4種輸出模式
開漏輸出:輸出端相當于三極管的集電極,要得到高電平狀態需要上拉電阻才行,適合于做電流型的驅動,其吸收電流的能力相對強(一般20ma以內)。
一般來說,開漏是用來連接不同電平的器件,匹配電平用的,因為開漏引腳不連接外部的上拉電阻時,只能輸出低電平,如果需要同時具備輸出高電平的功能,則需要接上拉電阻,很好的一個優點是通過改變上拉電源的電壓,便可以改變傳輸電平。
比如:加上上拉電阻就可以提供TTL/CMOS電平輸出等(上拉電阻的阻值決定了邏輯電平轉換的沿的速度。阻值越大,速度越低功耗越小,所以負載電阻的選擇要兼顧功耗和速度)。
推挽輸出:可以輸出高/低電平,連接數字器件。推挽結構一般是指兩個三極管分別受兩互補信號的控制,總是在一個三極管導通的時候另一個截止。
高低電平由IC的電源低定。推挽電路是兩個參數相同的三極管或MOSFET,以推挽方式存在于電路中,各負責正負半周的波形放大任務,電路工作時,兩只對稱的功率開關管每次只有一個導通,所以導通損耗小、效率高。
輸出既可以向負載灌電流,也可以從負載抽取電流推拉式輸出級既提高電路的負載能力,又提高開關速度。
開漏復用功能:可以理解為GPIO口被用作第二功能時的配置情況(即并非作為通用IO口使用)。
推挽復用功能:同開漏復用一樣。
三、IO模式的宏名
GPIO_Mode_AIN:模擬輸入
GPIO_Mode_IN_FLOATING:浮空輸入
GPIO_Mode_IPD:下拉輸入
GPIO_Mode_IPU:上拉輸入
GPIO_Mode_Out_OD:開漏輸出
GPIO_Mode_Out_PP:推挽輸出
GPIO_Mode_AF_OD:復用開漏輸出
GPIO_Mode_AF_PP:復用推挽輸出
四、相關寄存器介紹
GPIOx_CRL:GPIO0~7的模式設置和速率設置
GPIOx_CRH:GPIO7~15的模式設置和速率設置
GPIOx_IDR:GPIO輸入數據寄存器,做輸入用的
GPIOx_ODR:GPIO輸出數據寄存器,做輸出的
GPIOx_BSRR:GPIO復位/置位寄存器,原子操作
GPIOx_BRR:GPIO復位寄存器
-
STM32
+關注
關注
2270文章
10901瀏覽量
356196 -
引腳
+關注
關注
16文章
1196瀏覽量
50538 -
GPIO
+關注
關注
16文章
1204瀏覽量
52124
發布評論請先 登錄
相關推薦
評論