新手求助 GPIO库函数参数检查(((*(uint32_t*)&(PERIPH))这功能中语法疑问

2019-08-17 10:45发布

#define IS_GPIO_ALL_PERIPH(PERIPH) (((*(uint32_t*)&(PERIPH)) == GPIOA_BASE) ||
                                    ((*(uint32_t*)&(PERIPH)) == GPIOB_BASE) ||
                                    ((*(uint32_t*)&(PERIPH)) == GPIOC_BASE) ||
                                    ((*(uint32_t*)&(PERIPH)) == GPIOD_BASE) ||
                                    ((*(uint32_t*)&(PERIPH)) == GPIOE_BASE) ||
                                    ((*(uint32_t*)&(PERIPH)) == GPIOF_BASE) ||
                                    ((*(uint32_t*)&(PERIPH)) == GPIOG_BASE))




请教大神,这里 (((*(uint32_t*)&(PERIPH))为什么不直接写(PERIPH)) == GPIOA_BASE?看了好几遍不明白这里为什么这样用?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。