关于GPIO的BSRR和BRR寄存器
来源:互联网 发布:网络没sei了什么意思 编辑:程序博客网 时间:2024/05/17 08:03
首先,
typedef struct
{
vu32 CRL;
vu32 CRH;
vu32 IDR;
vu32 ODR;
vu32 BSRR;
vu32 BRR;
vu32 LCKR;
} GPIO_TypeDef;
BSRR和BRR寄存器是32位的。
比较:
1)置GPIOA->BSRR低16位的某位为'1',则对应的I/O端口管脚置'1';
置GPIOA->BSRR低16位的某位为'0',则对应的I/O端口管脚保持不变。
2)置GPIOA->BSRR高16位的某位为'1',则对应的I/O端口管脚置'0';
置GPIOA->BSRR高16位的某位为'0',则对应的I/O端口管脚保持不变。
3)置GPIOA->BRR低16位的某位为'1',则对应的I/O端口管脚置'0';
置GPIOA->BRR低16位的某位为'0',则对应的I/O端口管脚保持不变。
例如:
1)要设置端口A的D0、D5、D10、D11为高,而保持其它I/O口不变,则
GPIOA->BSRR = 0x0C21(0000 1100 0010 0001);
反过头来再好好消化上述第1条特征!!!
2)要设置端口A的D1、D3、D14、D15为低,而保持其它I/O口不变,则
GPIOA->BRR = 0xC00A;
假设有16位data需要写入高8位的数据,则
GPIO_SetBits(GPIOA, data & 0xff00);
GPIO_ResetBits(GPIOA, (~data & 0xff00));
也可以直接操作这两个寄存器:
GPIOA->BSRR = data & 0xff00;
GPIOA->BRR = ~data & 0xff00;
- 关于GPIO的BSRR和BRR寄存器
- GPIO的寄存器BSRR和BRR
- 关于STM32_GPIO的BSRR和BRR寄存器
- STM32 GPIO BRR和BSRR寄存器
- STM32使用BSRR和BRR寄存器快速操作GPIO端口
- STM32 GPIO寄存器ODR BSRR BRR
- STM32 通用输入输出端口GPIO BRR、BSRR、ODR寄存器详解
- STM32 BSRR BRR ODR 寄存器解析
- STM32 GPIOx通用输入输出I/O端口的BSRR寄存器与BRR功能简述
- STM32 GPIO 配置之ODR, BSRR, BRR 详解
- STM32 GPIO 配置之ODR, BSRR, BRR 详解
- STM32 GPIO 配置之ODR, BSRR, BRR 详解
- 高手带你解析STM32 BSRR BRR ODR 寄存器
- STM32 BSRR BRR
- STM32的GPIO的寄存器介绍和设置
- 详解TCC89x的GPIO寄存器
- 详解tcc8935的GPIO寄存器
- STM32的GPIO寄存器概述
- Android Studio 快捷键筛选
- OTA升级过程中更新APN数据库
- 2016.8.5测试解题报告(english,chemistry,chiese)
- Uva 11294 Wedding(2-SAT)
- Java学习(四)
- 关于GPIO的BSRR和BRR寄存器
- 你是一个努力工作的程序员吗?还是一个懒惰的程序员?
- 使用AsyncTaskLoader加载数据
- POJ-2585 Window Pains 【典型处理方法】
- No mapping found for HTTP request with URI
- 统计一篇文章中每个单词出现的次数
- Lucene4.0 BufferedDeletes
- hdu2973威尔逊定理
- atof函数在不包含头文件stdlib.h的情况下也能编译运行,但是转换结果是错误的,为什么