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寄存器控制输出

相关推荐
广药门徒5 小时前
最小硬件系统概念及其组成
单片机·嵌入式硬件
GXSC8 小时前
国芯思辰|SCS5501/5502芯片组打破技术壁垒,重构车载视频传输链路,兼容MAX9295A/MAX96717
嵌入式硬件
啵啵学习8 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
可乐鸡翅好好吃9 小时前
通过BUG(prvIdleTask、pxTasksWaitingTerminatio不断跳转问题)了解空闲函数(prvIdleTask)和TCB
c语言·stm32·单片机·嵌入式硬件·bug·keil
才鲸嵌入式10 小时前
01 Ubuntu20.04下编译QEMU8.2.4,交叉编译32位ARM程序,运行ARM程序的方法
linux·c语言·单片机·嵌入式·arm·qemu·虚拟机
广药门徒12 小时前
我认为STM32输入只分为模拟输入 与 数字输入
stm32·单片机·嵌入式硬件
早睡的叶子13 小时前
proteus8安装教程
stm32·嵌入式硬件
天月风沙15 小时前
PX4 | 无人机关闭磁力计罗盘飞行(yaw estimate error报错解决方法)
单片机·嵌入式硬件·mcu·无人机
计蒙不吃鱼18 小时前
星闪开发之Server-Client 指令交互控制红灯亮灭案例解析(SLE_LED详解)
嵌入式硬件·物联网·iot·星闪·星闪开发
想搞嵌入式的小白19 小时前
STM32 NVIC中断控制器
stm32·单片机·嵌入式硬件·nvic