请教STM32知识点:GPIOA->BSRR 与GPIOA->BRR两个管脚寄存器
GPIOA->BSRR=cmd&0XFF;//GPIOA[7:0]为输出数据端口,1:设置对应的ODRy为1GPIOA->BRR=(~cmd)&0XFF;//GPIOA[...
GPIOA->BSRR = cmd & 0XFF; //GPIOA[7:0]为输出数据端口,1:设置对应的ODRy为1
GPIOA->BRR = (~cmd) & 0XFF; //GPIOA[7:0]为输出数据端口;1:设置对应的ODRy为0
是不是功能一样的语句?急急急 展开
GPIOA->BRR = (~cmd) & 0XFF; //GPIOA[7:0]为输出数据端口;1:设置对应的ODRy为0
是不是功能一样的语句?急急急 展开
展开全部
BSRR写1的位置1,BRR写1的位置0;这两个命令是不同的,一个用于清零,一个用于置1;这两句话等同与GPIOA->ODR = GPIOA->(ODR&0xff00)|cmd;
追问
GPIOA->ODR = (GPIOA->ODR & 0xff00)| cmd;
这条语句是将GPIOA口的低8位清零后,再将cmd写入低8位?(高8位保持不变)
追答
........,那你自己想你那两句话是不是就是为了把低八位写成cmd,我也不知道你在哪看的程序,根本就是在炫耀技能,其实一点用都没。cmd & 0XFF,(~cmd) & 0XFF,都是瞎子戴眼镜多余的圈圈。
,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询