32单片机——GPIO寄存器

|-----|-----|------|------|------------|-------------------|-----------|
| GPIO通用寄存器GPIOX_yyy |||||||
| CRL | CRH | IDR | ODR | BSRR | BRR | LCKR |
| 配置工作模式,输出速度 || 输入数据 | 输出数据 | 设置ODR寄存器的值 | F4之后没有这个寄存器,不建议使用 | 配置锁定,用的不多 |

BRR和LCKR几乎不用

1、CRL和CRH

GPIOx_CRL(x=A~E):端口配置低寄存器 ---- 0~7号引脚

GPIOx_CRH(x=A~E):端口配置高寄存器 ---- 8~15号引脚

它们的作用是一样的,如下图所示:

2、GPIOx_IDR(x=A~E):端口输入数据寄存器

IDRy中的y:0-15号引脚,例如:PA0-PA15;PB0-PB15.....

3、GPIOx_ODR(x=A~E):端口输出数据寄存器

ODRy中的y:0-15号引脚,例如:PA0-PA15;PB0-PB15.....

4、GPIOx_BSRR(x=A~E):端口位设置/清除寄存器

设置:置1 清除:清0

5、ODR和BSRR寄存器控制输出的区别

使用ODR,在读和修改访问之间产生中断时,可能会发生风险;BSRR则无风

建议大家使用BSRR寄存器控制输出

相关推荐
BackCatK Chen2 小时前
第 8 篇:TMC2240 电机正反转实现|DIR 引脚控制 + 代码优化(稳定不抖动)
stm32·单片机·嵌入式硬件·保姆级教程·电机正反转·tmc2240·dir引脚控制
星马梦缘3 小时前
EDA彩灯电路绘制
单片机·嵌入式硬件·物联网·pcb·eda·嘉立创
Forsete5 小时前
LINUX驱动开发#9——定时器
linux·驱动开发·单片机
Hello_Embed7 小时前
libmodbus 移植 STM32(USB 串口后端篇)
笔记·stm32·单片机·嵌入式·freertos·libmodbus
VekiSon8 小时前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
来自晴朗的明天10 小时前
14、光耦隔离电路(EL3H7)
单片机·嵌入式硬件·硬件工程
G***技10 小时前
杰和IB3-272:以低功耗高性能打造新一代工业智能交互核心
单片机·嵌入式硬件·物联网
czhaii11 小时前
STC AI8052U单片机特点
单片机
MAR-Sky11 小时前
keil5中数据的不同定义和单片机(以stc8为例)里的对应关系(idata,xdata,data,code)
单片机·嵌入式硬件
项目題供诗13 小时前
51单片机入门(八)
单片机·嵌入式硬件·51单片机