STM32
库函数说明及示例(版?/p>
V1.4.0
?/p>
----
第一篇:
GPIO
?/p>
相关术语说明?/p>
gpio
:通用输入输出接口
gpio
管脚:一?/p>
io
管脚,这个管脚可以有多个配置。在库函数中?/p>
GPIO_Pin_1
这样的宏
定义表示
gpio
端口?/p>
gpio
分组):一?/p>
gpio
管脚的信息。在库函数中用宏定义
GPIOA GPIOB
等表
?/p>
1
gpio
库说?/p>
库文件名?/p>
stm32f4xx_gpio.c
文档提示翻译?/p>
如何使用这个驱动
?/p>
1
?/p>
使用
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE)
函数使能
GPIO
?/p>
AHB
总线时钟?/p>
?/p>
2
?/p>
使用
GPIO_Init()
函数对每个引脚进行四种可能的配置
?/p>
1
?/p>
输入状态:
Floating
(浮空)
, Pull-up
(上拉)
, Pull-down
(下拉)
?/p>
2
?/p>
输出状态:
Push-Pull
(上拉下拉)
(Pull-up
(上拉)
, Pull-down
(下拉)
or no
Pull
(不上拉也不下拉?/p>
)
?/p>
Open Drain
(开漏)
(Pull-up
(上拉)
, Pull-down
(下拉)
or no
Pull
(不上拉也不下拉?/p>
)
,在输出模式,速度配置?/p>
2MHZ,25MHZ,50MHZ
?/p>
100MHZ.
?/p>
3
?/p>
第二功能:上拉下拉和开?/p>
?/p>
4
?/p>
模拟:当一个管脚被用作
ADC
通道或?/p>
DAC
输出的时候,需要配置成此模?/p>
?/p>
3
?/p>
外设的第二功能:
?/p>
1
?/p>
?/p>
ADC
?/p>
DAC
模式,使?/p>
GPIO_InitStruct->GPIO_Mode = GPIO_Mode_AN
把需要的管脚配置成模拟模?/p>
?/p>
2
?/p>
对于其它的管脚(定时器,串口等)?/p>
l
使用
GPIO_PinAFConfig()
函数把管脚和需要的第二功能进行连接
l
使用
GPIO_InitStruct->GPIO_Mode = GPIO_Mode_AF
把需要的管脚配置成第二功能模?/p>
l
通过成员变量
GPIO_PuPd, GPIO_OType and GPIO_Speed
选择类型,上拉下拉和输出?/p>
?/p>
l
调用函数
GPIO_Init()
?/p>
4
?/p>
在输入模式,使用函数
GPIO_ReadInputDataBit()
得到配置好管脚的电平
?/p>
5
?/p>
在输出模式,
使用函数
GPIO_SetBits()/GPIO_ResetBits()
设置配置?/p>
IO
的高?/p>
电平
?/p>
6
?/p>
在复位过程和刚刚复位后,第二功能是无效的?/p>
GPIO
被配置成了输入浮空模?/p>
?/p>
JTAG
管脚除外?/p>
?/p>
7
?/p>
?/p>
LSE
振荡器关闭的时候,
LSE
振荡器管?/p>
OSC32_IN
?/p>
OSC32_OUT
可以?/p>
为通过
IO
来使用(分别?/p>
PC14
?/p>
PC15
表示)?/p>
LSE
的优先级高于
GPIO
函数
?/p>
8
?/p>
?/p>
HSE
振荡器关闭的时候,
HSE
振荡器管?/p>
OSC_IN
?/p>
OSC_OUT
可以作为?/p>
?/p>
IO
?/p>
PH0
?/p>
PH1
)来使用?/p>
HSE
的优先级高于
GPIO
函数?/p>
2
具体函数说明