|
STM32—GPIO操作(基于STM32F051开发板)
内容概述: GPIO的基本概念及寄存器介绍 照亮电子世界的那盏灯——LED寄存器版 照亮电子世界的那盏灯——LED库函数版 初识人机交互——按键
内容概述: GPIO接口简介 GPIO功能复用 GPIO寄存器介绍 GPIO接口简介: 通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和功能是非常重要的。 1 l% ^1 G, c7 @6 C9 I/ a# X
1 F9 c; A# l7 ~( f* l" f
$ ?! y% J# W$ S8 v% R6 q GPIO寄存器介绍:
STM32F051-GPIO常用寄存器:(下文会具体介绍) 4个32位配置寄存器 GPIOx_MODER(端口模式寄存器), GPIOx_OTYPER(端口输出类型寄存器), GPIOx_OSPEEDR(输出速度寄存器), GPIOx_PUPDR(上拉 / 下拉寄存器) 2个32位数据寄存器 GPIOx_IDR(输入数据寄存器) 、GPIOx_ODR(输出数据寄存器) 1 个32 位置位 / 复位寄存器 GPIOx_BSRR(置位 / 复位寄存器) 2 个 32 位复用功能配置寄存器 GPIOx_AFRH (复用功能高位寄存器)、GPIOx_AFRL(复用功能低位寄存器) # ?7 L$ R5 c0 f 注:每一组GPIO端口都有一套上述的寄存器去配置它自己的功能 GPIO寄存器MODER(端口模式寄存器):
. T! E( e0 p: ^2 Y$ m( H2 F# x GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..D,F) 偏移地址: 0x00 复位值: ● 0x2800 0000 端口 A ● 0x0000 0000 其他口 GPIO寄存器OTYPER(端口输出类型寄存器):
) p6 B/ Q" C# ^- }8 J
GPIO 端口输出类型寄存器 (GPIOx_OTYPER) (x = A..D,F) # x' d. g) L; |+ D& \5 T 偏移地址: 0x04 复位值: 0x0000 0000 GPIO工作原理框图:
5 n9 p6 ^* X0 j) a GPIO寄存器OSPEEDR(输出速度寄存器):
& N( X9 }1 F& a0 R7 C# y C # u% g3 L$ b5 E+ @
K+ k" r5 j" N l( j$ A0 {! Z) h! E
; A3 u$ Z3 Q4 V6 w- ` GPIO 口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F) 偏移地址: 0x08 复位值: 0x0000 0000 GPIO寄存器PUPDR(上拉 / 下拉寄存器): , u* U' I9 y3 ~$ B. K9 }) N! b
GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F) 偏移地址: 0x0C 复位值: ● 0x2400 0000 端口 A ● 0x0000 0000 其它端口
GPIO寄存器IDR(输入数据寄存器): ; _4 @/ o7 r5 t! B# `- O% R& \
7 k& v' F6 H3 l; n7 v2 i9 M GPIO 端口输入数据寄存器 (GPIOx_IDR) (x = A..D,F) 偏移地址: 0x10 复位值: 0x0000 XXXX (X 表明不定 ) GPIO寄存器ODR(输出数据寄存器):
( T, z( `$ _' a! ]$ M5 y
GPIO 端口输出数据寄存器 (GPIOx_ODR) (x = A..D,F) 偏移地址: 0x14 复位值: 0x0000 0000 GPIO寄存器BSRR(置位 / 复位寄存器):
GPIO 端口置位 / 复位寄存器 (GPIOx_BSRR) (x = A..D,F) 偏移地址: 0x18 复位值: 0x0000 0000 GPIO寄存器AFRL(复用功能低位寄存器): 7 z9 F5 }/ D$ R) c- E) |
2 n$ ^$ H- g, ?+ T0 M$ i
GPIO 复用功能低位寄存器 (GPIOx_AFRL) (x = A..B) 偏移地址: 0x20 复位值: 0x0000 0000 . O$ R1 C; W& }" Q GPIO寄存器AFRH(复用功能高位寄存器):
GPIO 复用功能高位寄存器 (GPIOx_AFRH) (x = A..B) 偏移地址: 0x24 复位值: 0x0000 0000
& E; p. `* ?7 l# l! j6 t 内容概要: 硬件原理图分析 编程步骤分析 编程实例操作 硬件原理图分析:
使能GPIO的时钟:
2 q) z% ^$ K; z g) @$ n/ O! U' j AHB 外部时钟使能寄存器 (RCC_AHBENR) 偏移地址 : 0x14 复位值 : 0x0000 0014 访问:无等待周期,字,半字和字节访问 编程步骤分析:
& V( b1 x' l! D1 P/ z1 r! A 照亮电子世界的那盏灯——LED库函数版 内容概要: 硬件原理图分析 CubeMX配置 编程实例操作 硬件原理图分析:
CubeMX的配置:
& E- B- j+ n8 j1 O B, P5 U8 W
初始化关键代码分析: 3 Y& V5 f, ?5 g- [
控制LED关键代码分析: 3 _4 A) J2 |. n
初识人机交互——按键 6 a. w/ u, x% c7 p! \8 N8 { 内容概要: 硬件原理图分析 CubeMX配置 编程实例操作 硬件原理图分析:
CubeMX的配置:
STM32F0硬件:
编程实例操作:按下按键灯的状态会进行翻转
( {( J* C0 G5 S 0 n! I5 g* l7 K" r* r |
| 写的很详细,很清晰 |
【MCU实战经验】+基于stm32L的低功耗物联网温度测量节点
【NUCLEO-WBA65RI评测】物联网 LED
【NUCLEO-WBA65RI评测】蓝牙体温计
【NUCLEO-WBA65RI评测】Home Assistant 物联网心率计
意法半导体与高通达成无线物联网战略合作
《RT-Thread设备驱动开发指南》书籍学习记录
[STM32WB55评测] 开箱
【我心中的STM32WBA52】
【我心中的STM32WBA52】
将STM 32 Lora DiscoveryKit连接到AWS物联网(三)
微信公众号
手机版