STM32 GPIO工作方式

注意:stm32f1 io口3.3v 部分引腳可以識別5v (I/0 LEVEL 有TF標識)

共有8種方式
輸入:
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 複用推輓輸出用的最多的是推輓輸出,開漏輸出,上拉輸出每組GPIO端口包括7個寄存器:

兩個32位配置寄存器(GPIOx_CRL,GPIOx_CRH):4位對應一個i/o口

兩個32位數據寄存器GPIOx_IDR(輸入數據寄器)和GPIOx_ODR(輸出數據寄存器)

一個32位置位/復位寄存器(GPIOx_BSRR):高位1對應0,低位1對應1

一個16位復位寄存器(GPIOx_BRR),一個32位鎖定寄存器(GPIOx_LCKR)

每個I/O端口位可以自由編程,I/O端口寄存器必須按32位字被訪問(不允許半字或字節訪問)。

端口複用
端口重映射(佈線方便)
所有IO都可以中斷輸入

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章