在STM32代码中使用的HAL库中,我们看到使用了这样的样式:
#define I2C1 ((I2C_TypeDef *) I2C1_Base)
答案 0 :(得分:2)
I2C1_Base
在其他地方声明,并且是一个十六进制文字的数字。
(I2C_TypeDef *)
将I2C1_Base
数字转换为指向I2C_TypeDef
的指针,当它转换为指针类型时,星形需要在括号内,如果它在外面那么它会是一个解除引用,不会编译。
定义是允许像
这样的代码I2C1->someRegister = 0xf00;
而不是每次都需要手动输入演员。