1 / 13
文档名称:

解析STM32的库函数.doc

格式:doc   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

解析STM32的库函数.doc

上传人:rabbitco 2016/1/4 文件大小:0 KB

下载得到文件列表

解析STM32的库函数.doc

文档介绍

文档介绍:以最常用的GPIO设备的初始化函数为例,如下程序段一:GPIO_InitTypeDefGPIO_InitStructure;=GPIO_Pin_4;=GPIO_Speed_50MHz;=GPIO_Mode_Out_PP;4GPIO_Init(GPIOA,&GPIO_InitStructure5这是一个在STM32的程序开发中经常使用到的GPIO初始化程序段,,并最大翻转速率为50MHz。下面逐一分解:?首先是1,该语句显然定义了一个GPIO_InitTypeDef类型的变量,名为GPIO_InitStructure,则找出GPIO_InitTypeDef的原型位于“”文件,原型如下: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类型,在“”文件中找到对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)。同样也在“”文件中找到对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,可以在“”文件中找到对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_50MHz只是一个枚举变量,并非具体的某个值。4语句亦和2语句类似,把GPIO_Mode_Out_PP赋给GPIO_InitStructure结构体中的成员GPIO_Mode,从上文可知GPIO_Mode_Out_PP的值为0x10。5是一个函数调用,即调用GPIO_Init函数,并提供给该函数2个参数,分别为GPIOA和&GPIO_InitStructure,其中&GPIO_InitStructure表示结构体变量GPIO_InitStructure的地址,而GPIOA则在“stm32f10x

最近更新

天津2016规划方案 33页

2024年内江卫生与健康职业学院单招职业适应性.. 95页

大连日本商业街规划方案 35页

2024年合肥工科同道产业园管理有限公司招聘笔.. 147页

2024年国家公务员考试言语理解与表达真题及完.. 118页

2024年大同煤炭职业技术学院单招职业适应性测.. 96页

2024年宁夏德渊集团招聘笔试冲刺题新版 147页

2024年山东新华书店集团限公司德州分公司招聘.. 148页

2024年山东潍坊市教育投资集团限公司招聘工作.. 147页

2024年巴音郭楞职业技术学院单招职业适应性测.. 97页

外贸行业整合推广方案 31页

2024年广东省深圳市大鹏新区综合办公室招聘4人.. 89页

外卖推广打发方案模板 27页

外企媒介推广方案模板 27页

塑造自身健康性格规划方案 30页

2024年广东省清远市质监局事业单位招聘历年高.. 90页

2024年广东省湛江市吴川司法局招聘30人历年高.. 89页

2024年广东省湛江市遂溪县污染源普查办公室招.. 89页

2024年广东省潮州市工人文化宫招聘2人历年高频.. 89页

2024年广东省珠海(国家)高新区管委会党政办招.. 89页

2024年广东省珠海市委组织部事业单位招聘3人历.. 89页

2024年广东省珠海市拱北海关合同制辅助人员招.. 90页

2024年广东省珠海高新区投资促进中心招聘5人历.. 89页

2024年广东省理工职业技术学校事业单位招聘15.. 88页

2024年广东省肇庆市端州区残疾人联合会招聘1人.. 90页

2024年广东省肇庆市鼎湖区审计局事业单位招聘.. 89页

困境儿童防溺水活动方案 27页

物业人员培训方案 25页

节约用水的研究报告 2页

“小学语文教学中加强语言文字运用能力的训练.. 7页