GPIO英文全稱General-PurposeInput/OutputPorts,中文意思是通用I/O端口。由于MCU的通信外設接口衆多,不可能每一外設固定一組GPIO,在MCU微控制器中,可通過軟件運行期間能夠動态配置和控制的引腳的狀态,所以每個GPIO口除了通用輸入輸出功能外,還可能有其它複用功能。 在靈動微MM32L0産品中,每個GPIO端口有兩個32位配置寄存器(GPIOx_CRL,GPIOx_CRH),兩個32位數據寄存器(GPIOx_IDR和GPIOx_ODR),一個32位置位/複位寄存器(GPIOx_BSRR),一個16位複位寄存器(GPIOx_BRR)、一個32位鎖定寄存器(GPIOx_LCKR)和兩個複用功能選擇寄存器(GPIOx_AFRH)和(GPIOx_AFRL)。 GPIO端口的每個位可以由軟件分别配置成多種模式。-輸入浮空-輸入上拉-輸入下拉-模拟輸入-開漏輸出-推挽式輸出-推挽式複用功能-開漏複用功能 每個I/O端口可以自由編程,然而必須按照32位字訪問I/O端口寄存器(不允許半字或字節訪問)。GPIOx_BSRR和GPIOx_BRR寄存器允許對任何GPIO寄存器進行讀/更改的獨立訪問;這樣在讀更改訪問之間産生IRQ不會發生危險。
圖1.I/O端口位的基本結構
1、輸入浮空詳解:浮空(floating)就是邏輯器件的輸入引腳既不接高電平,也不接低電平。一般實際運用時,引腳不建議懸空,易受幹擾。 2、輸入上拉\下拉詳解:上拉就是把電位拉高,比如拉到Vcc。上拉就是将不确定的信号通過一個電阻拉在高電平!弱強隻是上拉電阻的阻值不同,沒有什麼嚴格區分。在MM32L0xxx中該上拉電阻位40k歐姆。 3、模拟輸入詳解:模拟輸入是指模拟信号的輸入。配置模拟輸入時,所有的上拉、下拉電阻和施密特觸發器,均處于禁止狀态,因此“輸入數據寄存器”将不能反映端口上的電平狀态,也就是說模拟輸入配置下,CPU不能在“輸入數據寄存器”上讀到有效的數據。 4、開漏輸出詳解:輸出端相當于三極管的集電極,對輸入數據寄存器的訪問可得到I/O狀态。可以做不同電壓信号轉換;多個同時級聯還可以實現線與邏輯)。 5、推挽式輸出詳解:可以輸出高,低電平,連接數字器件;推挽結構一般是指兩個三極管分别受兩互補信号的控制,總是在一個三極管導通的時候另一個截止。高低電平由IC的電源決定。 6、複用功能詳解:可以理解為GPIO口被用作第二功能時的配置情況(即并非作為通用IO口使用)。端口必須配置成複用功能輸出模式(推挽或開漏)。 關于靈動靈動微電子是國内專注于MCU産品與應用方案的領先供應商,是中國工業及信息化部和上海市信息化辦公室認定的集成電路設計企業,同時也是上海市認定的高新技術企業。自2011年3月成立至今,靈動微電子已經成功完成數百餘國産32位MCU産品的設計及推廣,靈動微電子目前已批量供貨的基于ARM Cortex-M0及Cortex-M3 内核的MCU産品包括:針對通用高性能市場的MM32F系列,針對超低功耗及安全應用的MM32L系列,具有多種無線連接功能的MM32W系列,電機及電源專用的MM32SPIN系列,以及OTP型的MM32P系列等,以滿足客戶及市場多領域、多層次的豐富應用場景需求。總代理英尚微電子支持提供免費開發闆測試以及例程等技術支持。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!