Stm32 在HAL库中定义样式
在STM32代码中使用的HAL库中,我们看到使用了如下样式:Stm32 在HAL库中定义样式,stm32,hal,Stm32,Hal,在STM32代码中使用的HAL库中,我们看到使用了如下样式: #define I2C1 ((I2C_TypeDef *) I2C1_Base) 为什么这样使用define 为什么使用指针类型 为什么星星不在括号外 I2C1\u Base在其他地方声明,是一个十六进制数字 (I2C_TypeDef*)将I2C1_Base数字转换为指向I2C_TypeDef的指针,星形必须位于括号内,因为它转换为指针类型,如果它位于括号外,则它将是一个解引用,不会编译 定义允许这样的代码 I2C1-&
#define I2C1 ((I2C_TypeDef *) I2C1_Base)
- 为什么这样使用define
- 为什么使用指针类型
- 为什么星星不在括号外
I2C1\u Base
在其他地方声明,是一个十六进制数字
(I2C_TypeDef*)
将I2C1_Base
数字转换为指向I2C_TypeDef
的指针,星形必须位于括号内,因为它转换为指针类型,如果它位于括号外,则它将是一个解引用,不会编译
定义允许这样的代码
I2C1->someRegister = 0xf00;
而不是每次都需要手动键入类型。先学习C。了解一些关于微控制器的知识。没有这个答案,这个问题就毫无意义