HAL_GPIO_Init(GPIOE, &gpio_init_struct)为什么GPIOE不用取地址
时间: 2023-09-18 07:13:36 浏览: 94
GPIO.zip_GPIO_HAL_LIB
在C语言中,当我们定义一个变量时,实际上会在内存中为该变量分配一块连续的存储空间,该空间的大小取决于该变量的数据类型。当我们使用变量时,可以通过变量名来访问该变量的内存地址,也可以通过指针来访问该变量的内存地址。
在HAL库中,GPIOE是一个宏定义,它被定义为一个指向GPIOE寄存器地址的指针。因此,当我们传递GPIOE作为参数时,实际上传递的是该指针变量的值,该值是GPIOE寄存器的地址,而不是GPIOE变量本身的地址。因此,不需要使用取地址符号&来获取GPIOE的地址。
在这种情况下,我们传递GPIOE指针的目的是告诉函数将初始化数据写入GPIOE寄存器中,而不是将数据写入其他GPIO寄存器。因此,我们需要传递GPIOE指针而不是GPIOE变量本身。
阅读全文