#define digitalHi(p,i) {p->BSRRL=i;}关于宏的结构体成员值的替换

eg:

#define	digitalHi(p,i)			 {p->BSRRL=i;}		
#define digitalLo(p,i)			 {p->BSRRH=i;}		
#define digitalToggle(p,i)	 	{p->ODR ^=i;}		

对于上述的P->BSRRL 或 P->BSRRH 或 P->ODR
P并不是一个建立好的结构体变量,而是设定出来告诉宏,要寻找的BSSRL,BSSRH,ODR,这些值是一个结构体成员,当这样定义后,编译程序就会去已经建立好的的结构体里寻找这些(BSSRL,BSSRH,ODR) ,从而达到定义到结构体成员的作用。

在调用这些宏函数时应该注意,对应好相应的参数,如p对应的就是结构体,i对应的就是简单的变量。

你可能感兴趣的:(c语言)