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