STM32的IO口
阿新 • • 發佈:2017-05-12
enum 都是 芯片 復用 一個 article 模擬 font 下拉
STM32 的 IO 口
能夠由軟件配置成例如以下 8 種模式:
1、輸入浮空
2、輸入上拉
3、輸入下拉
4、模擬輸入
5、開漏輸出
6、推挽輸出
7、推挽式復用功能
能夠由軟件配置成例如以下 8 種模式:
1、輸入浮空
2、輸入上拉
3、輸入下拉
4、模擬輸入
5、開漏輸出
6、推挽輸出
7、推挽式復用功能
8、開漏復用功能
每一個 IO 口能夠自由編程,但 IO 口寄存器必需要按 32 位字被訪問。STM32 的非常多 IO 口都是 5V 兼容的,這些 IO 口在與 5V 電平的外設連接的時候非常有優勢,詳細哪些 IO 口是 5V 兼容的。能夠從該芯片的數據手冊管腳描寫敘述章節查到(I/O Level 標 FT 的就是 5V 電平兼容的)。
STM32 的每一個 IO port都有 7 個寄存器來控制。他們各自是:配置模式的 2 個 32 位的port配置寄存器 CRL 和CRH;2 個 32 位的數據寄存器 IDR 和 ODR;1 個 32 位的置位/復位寄存器BSRR;一個 16 位的復位寄存器 BRR;1 個 32 位的鎖存寄存器 LCKR。
typedef enum
{ GPIO_Mode_AIN = 0x0,
//模擬輸入
GPIO_Mode_IN_FLOATING = 0x04,
//浮空輸入
GPIO_Mode_IPD = 0x28,
//下拉輸入
GPIO_Mode_IPU = 0x48,
//上拉輸入
GPIO_Mode_Out_OD = 0x14,
//開漏輸出
GPIO_Mode_Out_PP = 0x10,
//通用推挽輸出
GPIO_Mode_AF_OD = 0x1C,
//復用開漏輸出
GPIO_Mode_AF_PP = 0x18
//復用推挽
}GPIOMode_TypeDef;
STM32的IO口