历史上的今天
今天是:2024年08月26日(星期一)
2018年08月26日 | 关于STM32_GPIO的BSRR和BRR寄存器
2018-08-26 来源:eefocus
首先,
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;
史海拾趣
|
ADS1605:速度最快的16位Delta-Sigma ADC 豪华的单片机开发系统498元 可稳定视频输出的: S3C2410 ARM9开发板780元DSP5402学习开发板II200元 暑期大优惠:S3C44B0开发板(标准版)350元 单片机以太网开发板 180元 DSP5402学习开发板II200元 LABTOOL-48UXP &nb ...… 查看全部问答> |
|
模拟技术是目前所有电子产品设计中不可或缺的部分,相信大家对模拟技术可以说一点都不陌生,从接触电子产品开始,我们就接触模拟技术了。模拟技术更多需要经验积累,对新入门的工程师来说,如何提升自己的模拟设计水平?我们欢迎广大资深工程师都来 ...… 查看全部问答> |
|
vxWorks系统中有几个task,其中一个task在执行过程中会挂掉(SUSPEND),请问有可能是哪些原因? 如题。 我以前没有接触过此系统,不知道它是如何使用内存的…… ---------- 迷惑:一个task在执行过程中怎么会挂掉自己呢?task之间没有访问保护,写错地方了就是挂掉别的task或系统啊! 明白的此情况的,请提示一下! ...… 查看全部问答> |
|
450转让友善之臂mini2440开发板 09年底入手的2440开发板,带3.5寸屏,128M NAND Flash,带usb线,串口线,Jtag小板,送原厂开发板资料DVD和5张视频教程DVD,送USB串口转接线; 板子详情查看官方网站http://www.arm9.net/mini2440-feature.asp 有 ...… 查看全部问答> |
|
我现在在做一个驱动,使用了5个端点,端点1为in,其他2,3,4,5断点为out的,我有一个1k的数据包,如何利用2,3,4,5端点,对设备进行高速写入,最后可以把usb跑到800-900k每秒… 查看全部问答> |
|
12864液晶显示出错问题!!!!!!!???????????? 12864液晶显示会出现不同的错误代码,而且每次不同,有时会出现前面覆盖后面内容,求懂得的高手帮助解决一下,QQ:986422129… 查看全部问答> |
|
感觉不错,转载在此,只为传播更多知识! PCI卡的布线比较讲究,这是PCI信号的特点决定的。在常规性的高频数字电路设计中我们总是力求避免阻抗不匹配造成的信号反射、过冲、振铃、非单调性现象,但是PCI信号却恰恰是利用了信号的反射原理来传 ...… 查看全部问答> |




