整理解析STM32的库函数.docx

上传人:b****2 文档编号:1989482 上传时间:2022-10-25 格式:DOCX 页数:5 大小:18.74KB
下载 相关 举报
整理解析STM32的库函数.docx_第1页
第1页 / 共5页
整理解析STM32的库函数.docx_第2页
第2页 / 共5页
整理解析STM32的库函数.docx_第3页
第3页 / 共5页
整理解析STM32的库函数.docx_第4页
第4页 / 共5页
整理解析STM32的库函数.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

整理解析STM32的库函数.docx

《整理解析STM32的库函数.docx》由会员分享,可在线阅读,更多相关《整理解析STM32的库函数.docx(5页珍藏版)》请在冰豆网上搜索。

整理解析STM32的库函数.docx

整理解析STM32的库函数

GPIO_InitTypeDefGPIO_InitStructure;1

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;2

GPIO_InitStructure.GPIO_Speed=

GPIO_Speed_50MHz;3

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;4

GPIO_Init(GPIOA,&GPIO_InitStructure5

这是一个在STM32的程序开发中经常使用到的GPIO初始化程序段,其功能是将GPIOA.4口初始化为推挽输出状态,并最大翻转速率为50MHz。

下面逐一分解:

●首先是1,该语句显然定义了一个GPIO_InitTypeDef类型的变量,名为GPIO_InitStructure,则找出GPIO_InitTypeDef的原型位于“stm32f10x_gpio.h”文件,原型如下:

typedefstruct

{

u16GPIO_Pin;

GPIOSpeed_TypeDefGPIO_Speed;

GPIOMode_TypeDefGPIO_Mode;

}GPIO_InitTypeDef;

由此可知GPIO_InitTypeDef是一个结构体类型同义字,其功能是定义一个结构体,该结构体有三个成员分别是u16类型的GPIO_Pin、GPIOSpeed_TypeDef类型的GPIO_Speed和GPIOMode_TypeDef类型的GPIO_Mode。

继续探查GPIOSpeed_TypeDef和GPIOMode_TypeDef类型,在“stm32f10x_gpio.h”文件中找到对GPIOSpeed_TypeDef的定义:

typedefenum

{

GPIO_Speed_10MHz=1,

GPIO_Speed_2MHz,

GPIO_Speed_50MHz

}GPIOSpeed_TypeDef;

则可知GPIOSpeed_TypeDef枚举类型同一只,其功能是定义一个枚举类型变量,该变量可表示GPIO_Speed_10MHz、GPIO_Speed_2MHz和GPIO_Speed_50MHz三个含义(其中GPIO_Speed_10MHz已经定义为1,读者必须知道GPIO_Speed_2MHz则依次被编译器赋予2,而GPIO_Speed_50MHz为3)。

同样也在“stm32f10x_gpio.h”文件中找到对GPIOMode_TypeDef的定义:

typedefenum

{

GPIO_Mode_AIN=0x0,

GPIO_Mode_IN_FLOATING=0x04,

GPIO_Mode_IPD=0x28,

GPIO_Mode_IPU=0x48,

GPIO_Mode_Out_OD=0x14,

GPIO_Mode_Out_PP=0x10,

GPIO_Mode_AF_OD=0x1C,

GPIO_Mode_AF_PP=0x18

}GPIOMode_TypeDef;

这同样是一个枚举类型同义字,其成员有GPIO_Mode_AIN、GPIO_Mode_AF_OD等(也可以轻易判断出这表示GPIO设备的工作模式)。

至此对程序段一的○1解析可以做一个总结:

该行定义一个结构体类型的变量GPIO_InitStructure,并且该结构体有3个成员,分别为GPIO_Pin、GPIO_Speed和GPIO_Mode,并且GPIO_Pin表示GPIO设备引脚GPIO_Speed表示GPIO设备速率和GPIO_Mode表示GPIO设备工作模式。

接下来是2,此句是一个赋值语句,把GPIO_Pin_4赋给GPIO_InitStructure结构体中的成员GPIO_Pin,可以在“stm32f10x_gpio.h”文件中找到对GPIO_Pin_4做的宏定义:

#defineGPIO_Pin_4((u16)0x0010)

因此○2的本质是将16位数0x0010赋给GPIO_InitStructure结构体中的成员GPIO_Pin。

3语句和2相似将GPIO_Speed_50MHz赋给GPIO_InitStructure结构体中的成员GPIO_Speed,但注意到此处GPIO_Speed_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1