STM32 GPIO基本結構
一,STM32的IO口,絕大部分都是相容5V的,至於到底哪些相容,大家可以去看STM32晶片的資料手冊(注意是資料手冊,不是參考手冊),裡面的引腳描述表(pin definitions)有詳細的標註,凡是帶FT標誌的IO口,都是相容5V。
二,舉例
1,STM32F103ZET6:一共有7組IO口, 每組IO口有16個IO,一共16X7=112個IO
GPIOA,GPIOB,GPIOC,GPIOD,GPIOE,GPIOF,GPIOG
2,STM32F103RCT6:一共有4組IO口, 一共16X3+3=51個IO
GPIOA0~A15,GPIOB0~B15,GPIOC0~C15,GPIOD0~D2
三,STM32的大部分引腳除了當GPIO使用外,還可以複用為外設功能引腳(比如串列埠):
IO埠位的基本結構:
四,GPIO的八種工作方式:
四種輸入模式:輸入浮空,輸入上拉,輸入下拉,模擬輸入
四種輸出模式:開漏輸出,開漏複用功能,推輓式輸出,推輓式複用功能
三種最大翻轉速度:2MHZ,10MHz,50MHz
1,輸入浮空模式
2,輸入上拉模式
3,輸入下拉模式
4,模擬模式
5,開漏輸出模式
6,開漏複用輸出模式
7,推輓輸出模式
8,推輓複用輸出模式
上電覆位後,GPIO預設為浮空狀態,部分特殊功能引腳為特定狀態。
推輓輸出:
可以輸出強高低電平,連線數字器件
開漏輸出:
只可以輸出強低電平,高電平得靠外部電阻拉高。輸出端相當於三極體的集電極. 要得到高電平狀態需要上拉電阻才行. 適合於做電流型的驅動,其吸收電流的能力相對強(一般20ma以內)
五,每組GPIO埠的暫存器包括:
兩個32位配置暫存器(GPIOx_CRL ,GPIOx_CRH) ,
兩個32位資料暫存器 (GPIOx_IDR和GPIOx_ODR),
一個32位置位/ 復位暫存器(GPIOx_BSRR),
一個16位復位暫存器(GPIOx_BRR),
一個32位鎖定暫存器(GPIOx_LCKR)。
每個I/O埠位可以自由程式設計,然而I/O埠暫存器必須按32位字被訪問(不允許半字或位元組訪問) 。
每組IO口含下面7個暫存器。也就是7個暫存器,一共可以控制一組GPIO的16個IO口。
1,埠配置低暫存器(GPIOx_CRL)
2,埠配置低暫存器(GPIOx_CRL)
3,埠配置高暫存器(GPIOx_CRH)
4,埠輸入資料暫存器(GPIOx_IDR)
5,埠輸出資料暫存器(GPIOx_ODR)
6,埠輸出資料暫存器(GPIOx_ODR)
7,埠位設定/清除暫存器(GPIOx_BSRR)
8,埠位清除暫存器(GPIOx_BRR)
六,埠多用
1,埠複用功能
STM32的大部分埠都具有複用功能。所謂複用,就是一些埠不僅僅可以做為通用IO口,還可以複用為一些外設引腳,比如PA9,PA10可以複用為STM32的串列埠1引腳。
作用:最大限度的利用埠資源
作用:最大限度的利用埠資源
2,埠重對映功能
就是可以把某些功能引腳對映到其他引腳。比如串列埠1預設引腳是PA9,PA10可以通過配置重對映對映到PB6,PB7
作用:方便佈線
3,所有IO口都可以作為中斷輸入
相關文章
- 明解STM32—GPIO理論基礎知識篇之基本結構
- STM32學習筆記——GPIO筆記
- STM32 GPIO 暫存器的配置
- stm32 use of undeclared identifier GPIO_InitTypeDefIDE
- STM32 GPIO詳細篇(基於HAL庫)
- ffmpeg基本結構
- HTML 基本結構HTML
- stm32開發筆記(二):stm32系列使用V3.5韌體庫的幫助檔案以及GPIO基本功能(一)筆記
- stm32開發筆記(三):stm32系列的GPIO基本功能之輸出驅動LED燈、輸入按鍵KEY以及Demo筆記
- 七、基本資料結構(樹形結構)資料結構
- Python基本資料結構Python資料結構
- 【STM32微控制器學習】第四課:GPIO控制LED
- 定時中斷基本結構
- c++基本資料結構C++資料結構
- StringTable結構以及基本調優
- RecyclerView的基本設計結構View
- Java基本程式設計結構Java程式設計
- STM32 GPIO的8種工作模式及相關配置暫存器模式
- Spark的基本結構及SparkSQL元件的基本用法SparkSQL元件
- JVM的基本結構和JVM的記憶體結構JVM記憶體
- HTML基本結構包含幾個部分?HTML
- Redis概述及基本資料結構Redis資料結構
- html概述及html文件基本結構HTML
- 資料結構的基本概念資料結構
- Redis基本資料結構之ZSetRedis資料結構
- 基本資料結構演算法資料結構演算法
- 明解STM32—GPIO理論基礎知識篇之暫存器原理
- 不到2000字,輕鬆帶你搞懂STM32中GPIO的8種工作模式模式
- Vuejs基本知識(一)【專案資料夾基本結構】VueJS
- JS中陣列物件的基本結構JS陣列物件
- JAVA的基本程式設計結構(下)Java程式設計
- [Java 基礎]Java 程式的基本結構Java
- iOS探索:Runtime之基本資料結構iOS資料結構
- 【資料結構】樹的基本知識資料結構
- C++資料結構連結串列的基本操作C++資料結構
- php實現基本資料結構之連結串列PHP資料結構
- 明解STM32—GPIO應用設計篇之API函式及配置使用技巧API函式
- stm32學習筆記——基本的地址操作筆記