關於嵌入式學習隨筆->2《GPIO基礎知識》

一、GPIO入門知識url

GPIO是什麼?spa

GPIO全稱general purpose input output通用輸入輸出端口,GPIO口既能夠作輸入也能夠作輸出,這些都是經過配置GPIO的工做模式來實現的。.net

·STM32FXXXIGT6:一共有9組IO口:PA~PI(PI只有PI0~PI11);一共有140個IO口:16*8+12=140調試

STM32的大部分引腳都除了能夠看成GPIO口來使用,還能夠複用爲外設功能引腳,如串口等。blog

集體引腳複用功能查找對應的芯片數據手冊便可。get

二、GPIO的8種工做模式(GPIO_Mode)input

看IO口電路圖更容易理解it

·四種輸入模式io

輸入浮空 :外部輸入直接進入IDR寄存器,施密特觸發器打開入門

輸入上拉:外部輸入通過上拉進入IDR寄存器,施密特觸發器打開

輸入下拉:外部輸入通過下拉進入IDR寄存器,施密特觸發器打開

模擬輸入:模擬輸入時,施密特觸發器關閉,直接進入模擬通道

·四種輸出模式

開漏輸出(帶上拉或者下拉):只能夠輸出強低電平,高電平只能由外部上拉,適合作電流型驅動,吸取電流能力較強(通常20mA之內)

開漏複用功能(帶上拉或者下拉)

推輓輸出(帶上拉或者下拉):能夠輸出高低電平

推輓複用功能(帶上拉或者下拉)

·四種最大輸出速度F429

-2MHz   低速

-25MHz 中速

-50MHz 快速

-100MHz 高速

對於stm32來講,上電覆位後,GPIO默認爲輸入浮空狀態,部分特殊功能引腳爲特定狀態。

注意復位後,調試引腳處於複用功能上拉或是下拉狀態,不能直接看成IO口使用(PA15,PA14,PA13,PB4,PB3)

三、GPIO寄存器

通常而言M3,M4,M7每組都有十個寄存器,共9*10=90個寄存器

四個32位配置寄存器:

GPIOx_MODE------端口模式寄存器

image

GPIOx_OTYPER------端口輸出類型寄存器

image

GPIOx_OSPEEDR------端口輸出速度寄存器

image

GPIOx_PUPDR------端口上拉下拉寄存器

image

兩個32位數據寄存器:

GPIOx_IDR-------輸入數據寄存器

image

GPIOx_ODR-------輸出數據寄存器

image

一個32位置位/復位寄存器:GPIOx_BSRR

image

一個32位鎖存寄存器:GPIOx_LCKR

image

兩個32位複用功能寄存器:低位GPIOx_AFRL&高位GPIOx_AFRH

image

相關文章
相關標籤/搜索