#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?看了好几遍不明白这里为什么这样用?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
GPIOA_BASE是个地址我明白,只需要将PERIPH定义成指针变量,然后(PERIPH)) == GPIOA_BASE就可以了,这里为什么要先取PERIPH的地址呢?
谢原子哥,刚入手了一块的767开发板,好多小疑惑影响学习进度,总不能一直发帖,有没有交流群呢?
一周热门 更多>