新手上路
- 积分
- 37
- 金钱
- 37
- 注册时间
- 2018-4-3
- 在线时间
- 4 小时
|
1金钱
本帖最后由 j944767765 于 2018-4-3 22:28 编辑
跑马灯程序中,在初始化IO口时调用了GPIO_Init(GPIOB, &GPIO_InitStructure);为什么在GPIO_InitStructure前面要加&取地址,而GPIOB前面不用加。
我通过打开GPIO_Init函数,显示:
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
{
uint32_t currentmode = 0x00, currentpin = 0x00, pinpos = 0x00, pos = 0x00;
uint32_t tmpreg = 0x00, pinmask = 0x00;
/* Check the parameters */
assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
assert_param(IS_GPIO_MODE(GPIO_InitStruct->GPIO_Mode));
assert_param(IS_GPIO_PIN(GPIO_InitStruct->GPIO_Pin));
/*----------------------------------------------------------------------------------------------------------*/
我发现这个* GPIO_InitStruct是一个指针,所以在初始化加了&取地址,那么* GPIOx也是一个指针,为什么不用加&。。。我知道这个问题有点傻,但是一直想不明白,希望好心人指导下
|
|