GPIO英文全稱(chēng)General-PurposeInput/OutputPorts,中文意思是通用I/O端口。由于MCU的通信外設接口眾多,不可能每一外設固定一組GPIO,在MCU微控制器中,可通過(guò)軟件運行期間能夠動(dòng)態(tài)配置和控制的引腳的狀態(tài),所以每個(gè)GPIO口除了通用輸入輸出功能外,還可能有其它復用功能。 在靈動(dòng)微MM32L0產(chǎn)品中,每個(gè)GPIO端口有兩個(gè)32位配置寄存器(GPIOx_CRL,GPIOx_CRH),兩個(gè)32位數據寄存器(GPIOx_IDR和GPIOx_ODR),一個(gè)32位置位/復位寄存器(GPIOx_BSRR),一個(gè)16位復位寄存器(GPIOx_BRR)、一個(gè)32位鎖定寄存器(GPIOx_LCKR)和兩個(gè)復用功能選擇寄存器(GPIOx_AFRH)和(GPIOx_AFRL)。 GPIO端口的每個(gè)位可以由軟件分別配置成多種模式。 -輸入浮空 -輸入上拉 -輸入下拉 -模擬輸入 -開(kāi)漏輸出 -推挽式輸出 -推挽式復用功能 -開(kāi)漏復用功能 每個(gè)I/O端口可以自由編程,然而必須按照32位字訪(fǎng)問(wèn)I/O端口寄存器(不允許半字或字節訪(fǎng)問(wèn))。GPIOx_BSRR和GPIOx_BRR寄存器允許對任何GPIO寄存器進(jìn)行讀/更改的獨立訪(fǎng)問(wèn);這樣在讀更改訪(fǎng)問(wèn)之間產(chǎn)生IRQ不會(huì )發(fā)生危險。 圖1.I/O端口位的基本結構 1、輸入浮空詳解: 浮空(floating)就是邏輯器件的輸入引腳既不接高電平,也不接低電平。一般實(shí)際運用時(shí),引腳不建議懸空,易受干擾。 2、輸入上拉\下拉詳解: 上拉就是把電位拉高,比如拉到Vcc。上拉就是將不確定的信號通過(guò)一個(gè)電阻拉在高電平!弱強只是上拉電阻的阻值不同,沒(méi)有什么嚴格區分。在MM32L0xxx中該上拉電阻位40k歐姆。 3、模擬輸入詳解: 模擬輸入是指模擬信號的輸入。配置模擬輸入時(shí),所有的上拉、下拉電阻和施密特觸發(fā)器,均處于禁止狀態(tài),因此“輸入數據寄存器”將不能反映端口上的電平狀態(tài),也就是說(shuō)模擬輸入配置下,CPU不能在“輸入數據寄存器”上讀到有效的數據。 4、開(kāi)漏輸出詳解: 輸出端相當于三極管的集電極,對輸入數據寄存器的訪(fǎng)問(wèn)可得到I/O狀態(tài)?梢宰霾煌電壓信號轉換;多個(gè)同時(shí)級聯(lián)還可以實(shí)現線(xiàn)與邏輯)。 5、推挽式輸出詳解: 可以輸出高,低電平,連接數字器件;推挽結構一般是指兩個(gè)三極管分別受兩互補信號的控制,總是在一個(gè)三極管導通的時(shí)候另一個(gè)截止。高低電平由IC的電源決定。 6、復用功能詳解: 可以理解為GPIO口被用作第二功能時(shí)的配置情況(即并非作為通用IO口使用)。端口必須配置成復用功能輸出模式(推挽或開(kāi)漏)。 關(guān)于靈動(dòng) 靈動(dòng)微電子是國內專(zhuān)注于MCU產(chǎn)品與應用方案的領(lǐng)先供應商,是中國工業(yè)及信息化部和上海市信息化辦公室認定的集成電路設計企業(yè),同時(shí)也是上海市認定的高新技術(shù)企業(yè)。自2011年3月成立至今,靈動(dòng)微電子已經(jīng)成功完成數百余國產(chǎn)32位MCU產(chǎn)品的設計及推廣,靈動(dòng)微電子目前已批量供貨的基于ARM Cortex-M0及Cortex-M3 內核的MCU產(chǎn)品包括:針對通用高性能市場(chǎng)的MM32F系列,針對超低功耗及安全應用的MM32L系列,具有多種無(wú)線(xiàn)連接功能的MM32W系列,電機及電源專(zhuān)用的MM32SPIN系列,以及OTP型的MM32P系列等,以滿(mǎn)足客戶(hù)及市場(chǎng)多領(lǐng)域、多層次的豐富應用場(chǎng)景需求?偞碛⑸形㈦娮又С痔峁┟赓M開(kāi)發(fā)板測試以及例程等技術(shù)支持 |