本人新手啊 C语言知识也不怎么牢固。。。现看串口初始化函数有点疑问
串口初始化函数式这样的 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
其中参数2 GPIO_InitStruct 是一个结构体类型指针 在编写函数的时候要 定义 GPIO_InitTypeDef GPIO_InitStructure;
打开结构体 GPIO_InitTypeDef 也确实是个结构体。。。
但我的疑问是 为什么参数1 GPIOx 就不是一个结构体类型指针了呢? 打开GPIO_TypeDef 也是一个结构体啊
typedef struct{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;
那为什么在编写函数的时候不需要定义GPIO_TypeDef GPIOA 而是直接向GPIOx 赋值
勿吐槽 新人求带 我也想在系统的看一遍C 可是真的没时间了 只有哪不会问哪 了 谢谢
|