- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM32 库函数说明及示例(版本V1.4.0 )
第一篇:GPIO 库
相关术语说明:
gpio:通用输入输出接口
gpio 管脚:一个io 管脚,这个管脚可以有多个配置。在库函数中用GPIO_Pin_1 这样的宏
定义表示
gpio 端口(gpio 分组):一组gpio 管脚的信息。在库函数中用宏定义GPIOA GPIOB 等表
示
1 gpio 库说明
库文件名:stm32f4xx_gpio.c
文档提示翻译:
如何使用这个驱动
(1) 使用RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE)函数使能
GPIO 的AHB 总线时钟。
(2) 使用GPIO_Init()函数对每个引脚进行四种可能的配置
《1》 输入状态:Floating (浮空), Pull-up (上拉), Pull-down (下拉)
《2》 输出状态:Push-Pull (上拉下拉)(Pull-up (上拉), Pull-down (下拉)or no
Pull (不上拉也不下拉)),Open Drain (开漏)(Pull-up (上拉), Pull-down (下拉)or no
Pull (不上拉也不下拉)),在输出模式,速度配置成2MHZ,25MHZ,50MHZ 和100MHZ.
《3》 第二功能:上拉下拉和开漏
《4》 模拟:当一个管脚被用作ADC 通道或者DAC 输出的时候,需要配置成此模式
(3) 外设的第二功能:
《1》 在ADC 和DAC 模式,使用GPIO_InitStruct-GPIO_Mode = GPIO_Mode_AN
把需要的管脚配置成模拟模式
《2》 对于其它的管脚(定时器,串口等):
l 使用GPIO_PinAFConfig()函数把管脚和需要的第二功能进行连接
l 使用GPIO_InitStruct-GPIO_Mode = GPIO_Mode_AF把需要的管脚配置成第二功能模式
l 通过成员变量GPIO_PuPd, GPIO_OType and GPIO_Speed 选择类型,上拉下拉和输出速
度
l 调用函数GPIO_Init()
(4 ) 在输入模式,使用函数GPIO_ReadInputDataBit()得到配置好管脚的电平
(5) 在输出模式,使用函数GPIO_SetBits()/GPIO_ResetBits()设置配置好IO 的高低
电平
(6) 在复位过程和刚刚复位后,第二功能是无效的,GPIO 被配置成了输入浮空模式
(JTAG 管脚除外)
(7) 当LSE 振荡器关闭的时候,LSE 振荡器管脚OSC32_IN 和OSC32_OUT 可以作
为通过IO 来使用(分别用PC14 和PC15 表示)。LSE 的优先级高于GPIO 函数
(8 ) 当HSE 振荡器关闭的时候,HSE 振荡器管脚OSC_IN 和OSC_OUT 可以作为通
用IO (PH0,PH1)来使用。HSE 的优先级高于GPIO 函数。
2 具体函数说明
初始化和配置相关函数
1. voidGPIO_DeInit(GPIO_TypeDef* GPIOx)
函数解释:gpio 的反初始化函数,该函数的作用是把GPIO 相关的寄存器配置成上电复位后
的默认状态,在第一次初始化前或者不再使用某一个接口后可以调用该函数。
函数参数说明:GPIOx:gpio 的分组,如GPIOA GPIOB GPIOC 等的宏定义(这些宏定义
在头文件stm32f4xx.h 中,由厂家写好,我们直接使用即可)
2. voidGPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef*GPIO_InitStruct)
函数解释:gpio 的初始化函数,该函数的作用是对io 进行初始化。
函数参数说明:(1)GPIOx:gpio 的分组,如GPIOA GPIOB GPIOC 等的宏定义。
(2)GPIO_InitStruct:gpio 的初始化相关结构体。该结构体里面的成员变量决定了我们
体的初始化参数。以下进行说明:
l GPIO_Pin:指定具体的IO 脚,如GPIO_Pin_0 GPIO_Pin_1 这样的宏定义,这些宏由厂
家写好,我们直接使用即可。
l GPIO_Mode:指定gpio 的模式,有以下四
文档评论(0)