typedef struct { uint32_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured. This parameter can be any value of @ref GPIO_pins_define */
GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the selected pins. This parameter can be a value of @ref GPIOMode_TypeDef */
GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins. This parameter can be a value of @ref GPIOSpeed_TypeDef */
GPIOOType_TypeDef GPIO_OType; /*!< Specifies the operating output type for the selected pins. This parameter can be a value of @ref GPIOOType_TypeDef */
GPIOPuPd_TypeDef GPIO_PuPd; /*!< Specifies the operating ull-up/Pull down for the selected pins. This parameter can be a value of @ref GPIOPuPd_TypeDef */ }GPIO_InitTypeDef; 用结构体GPIO_InitTypeDef 声明一个结构体变量GPIO_InitStructure 这个结构体变量是用于初始化通用IO口的,包括IO口的引脚,模式,速度等 关于结构体的问题 最好去看看C语言
是一个结构体,说白了就是一堆参数的集合.
然后配置这个结构体的各个参数,最后通过某个函数,以这个结构体为参数对IO进行初始化.就完成了IO设置.
看看我们库函数的教程吧.
{
uint32_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured.
This parameter can be any value of @ref GPIO_pins_define */
GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the selected pins.
This parameter can be a value of @ref GPIOMode_TypeDef */
GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins.
This parameter can be a value of @ref GPIOSpeed_TypeDef */
GPIOOType_TypeDef GPIO_OType; /*!< Specifies the operating output type for the selected pins.
This parameter can be a value of @ref GPIOOType_TypeDef */
GPIOPuPd_TypeDef GPIO_PuPd; /*!< Specifies the operating ull-up/Pull down for the selected pins.
This parameter can be a value of @ref GPIOPuPd_TypeDef */
}GPIO_InitTypeDef;
用结构体GPIO_InitTypeDef 声明一个结构体变量GPIO_InitStructure 这个结构体变量是用于初始化通用IO口的,包括IO口的引脚,模式,速度等 关于结构体的问题 最好去看看C语言
初始化 就是为你要做某件事情做前期准备 举个不是很好的例子,上课铃声响了,这节课是数学课,那么你的初始化工作就是进入教室,准备好这节数学课要用的东西 比如数学课本 资料等
GPIO_InitTypeDef GPIO_InitStructure;//定义结构体GPIO_InitStructure
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);
/*F9初始化*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOF,&GPIO_InitStructure);//&GPIO_InitStructure取地址
原子哥,请问一下为何GPIO_Init(GPIOF,&GPIO_InitStructure);。。。。。GPIOF不是取地址,而GPIO_InitStructure要取地址?这个没有理解,能帮解释一下吗??并且#define GPIOF ((GPIO_TypeDef *) GPIOF_BASE) 这句话中((GPIO_TypeDef *) GPIOF_BASE) 是说GPIOF_BASE是GPIO_TypeDef结构体变量的意思吗?GPIOF_BASE继续查找下去好像是表示一个地址值吧?我这些理解不了,能指导一下吗?
一周热门 更多>