
STM32—GPIO操作(基于STM32F051开发板)
内容概述:+ j& p( p% ~6 e( u GPIO的基本概念及寄存器介绍 照亮电子世界的那盏灯——LED寄存器版 照亮电子世界的那盏灯——LED库函数版 初识人机交互——按键
内容概述: GPIO接口简介 GPIO功能复用 GPIO寄存器介绍 GPIO接口简介: 通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和功能是非常重要的。 ^( T9 @" s# R G" x) _* ~/ ] ' c [) P9 Y/ k7 K! y; A: N6 x
GPIO寄存器介绍: ; j" m3 S, J4 {* l/ Q( m 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(复用功能低位寄存器)
注:每一组GPIO端口都有一套上述的寄存器去配置它自己的功能 GPIO寄存器MODER(端口模式寄存器): 1 L" n# O. N8 A
+ ?) |5 z4 |# S% Z9 o+ K GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..D,F) 偏移地址: 0x00 复位值: ● 0x2800 0000 端口 A ● 0x0000 0000 其他口 GPIO寄存器OTYPER(端口输出类型寄存器): " a9 J: [0 \& u3 ~- A) i' ^ & o: F/ Q4 |/ Q X/ c( m
GPIO 端口输出类型寄存器 (GPIOx_OTYPER) (x = A..D,F)
偏移地址: 0x04 复位值: 0x0000 0000 GPIO工作原理框图: $ R: l# r; [+ c. J# S3 G/ h4 I
GPIO寄存器OSPEEDR(输出速度寄存器):
% o, A2 O: P$ Q$ t 1 O& t8 i' `) H- o
& s" u5 H) g. H4 t0 e6 D: T GPIO 口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F) 偏移地址: 0x08 复位值: 0x0000 0000 GPIO寄存器PUPDR(上拉 / 下拉寄存器):
9 \. L9 D) o9 J, c. j7 [ GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F) 偏移地址: 0x0C 复位值: ● 0x2400 0000 端口 A ● 0x0000 0000 其它端口
GPIO寄存器IDR(输入数据寄存器):
GPIO 端口输入数据寄存器 (GPIOx_IDR) (x = A..D,F) 偏移地址: 0x10 复位值: 0x0000 XXXX (X 表明不定 ) GPIO寄存器ODR(输出数据寄存器):
GPIO 端口输出数据寄存器 (GPIOx_ODR) (x = A..D,F) 偏移地址: 0x14 复位值: 0x0000 0000 GPIO寄存器BSRR(置位 / 复位寄存器): 3 x0 P+ }4 ^8 T# A9 d
* \1 M0 @6 ]8 K- p4 N GPIO 端口置位 / 复位寄存器 (GPIOx_BSRR) (x = A..D,F) 偏移地址: 0x18 复位值: 0x0000 0000 GPIO寄存器AFRL(复用功能低位寄存器): % K; A" m4 B9 W! w9 [
GPIO 复用功能低位寄存器 (GPIOx_AFRL) (x = A..B) 偏移地址: 0x20 复位值: 0x0000 0000 , Q4 a+ Z g3 r& N' w7 ?8 F8 M3 O8 K GPIO寄存器AFRH(复用功能高位寄存器):
9 B- I4 j: Z5 k$ o2 m8 o; E( t
GPIO 复用功能高位寄存器 (GPIOx_AFRH) (x = A..B) 偏移地址: 0x24 复位值: 0x0000 0000 $ Y7 u" k4 Z% S/ b& i9 B: w 内容概要: 硬件原理图分析 编程步骤分析 编程实例操作 硬件原理图分析:
使能GPIO的时钟: 2 o B, I+ @. n* I/ r
AHB 外部时钟使能寄存器 (RCC_AHBENR) 偏移地址 : 0x14 复位值 : 0x0000 0014 访问:无等待周期,字,半字和字节访问 编程步骤分析: - D# q% y+ C E9 |, x
$ P& C! a9 P7 A# Y# |- c 照亮电子世界的那盏灯——LED库函数版* I# D& I) a3 [' E4 V2 b: v 0 S k! a. x6 ] 内容概要: 硬件原理图分析 CubeMX配置 编程实例操作 硬件原理图分析:
CubeMX的配置:
L1 E$ M$ J. f3 O6 V
7 e& t, w3 Z* ?7 a% ~
初始化关键代码分析: 2 }' Z+ S8 D$ m2 O2 @/ S
控制LED关键代码分析: 8 y/ s9 O" Z |) ^5 U* ]2 z
初识人机交互——按键5 K$ S$ T" j3 M: f3 z2 e " \ G% [" E0 _8 ? 内容概要: 硬件原理图分析 CubeMX配置 编程实例操作 硬件原理图分析:
CubeMX的配置:
STM32F0硬件:
编程实例操作:按下按键灯的状态会进行翻转 4 F" z# ]; J" D7 [* \4 b+ R7 ]
' V& Q3 }0 o6 y% W6 _ W 2 \/ g4 t% @4 s- y1 v$ e2 L( o |
写的很详细,很清晰 |
意法半导体与高通达成无线物联网战略合作
《RT-Thread设备驱动开发指南》书籍学习记录
[STM32WB55评测] 开箱
【我心中的STM32WBA52】
【我心中的STM32WBA52】
将STM 32 Lora DiscoveryKit连接到AWS物联网(三)
【STM32】STM32G030C8T6 开发板分享
STM32线上技术周回顾|Day3 智能物联答疑汇总
IAR ETM Trace提供哪些调试功能
物联网STM32开发板套件通过互联网与云服务器通信源程序