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