关于STM32 GPIO->BSRR GPIO->BRR的问题

#define LCD_EN(bit) {if(bit) GPIOD->BSRR = LCD_CS; else GPIOD->BRR = LCD_CS;}
请问这个程序是什么意思

if 后面的是置位,else 后面的是清零。

BSRR的高16位写1是对应口的清零,低16位写1是置位。
BRR只有低16位,写1是清零。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-02
这个程序有问题吧。你的if后面的语句和else后面的语句是一样的,这个样的话不管怎么样,都会将LCD_CS上的数据给PD口。具体会怎么样看你的LCD_CS里面是什么了。
第2个回答  2013-02-06
意思是如果bit=1就置位,如果bit=0就复位
第3个回答  2012-04-05
使能某个位 ,
相似回答