STM32 GPIO
使用
操作步骤?/p>
1.
使能
GPIO
对应的外设时?/p>
例如?/p>
//
使能
GPIOA
?/p>
GPIOB
?/p>
GPIOC
对应的外设时?/p>
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB|
RCC_APB2Periph_GPIOC , ENABLE);
2.
声明一?/p>
GPIO_InitStructure
结构?/p>
例如?/p>
GPIO_InitTypeDef GPIO_InitStructure;
3.
选择待设置的
GPIO
管脚
例如?/p>
/*
选择待设置的
GPIO
?/p>
7
?/p>
8
?/p>
9
管脚?/p>
,中间加?/p>
|
”符?/p>
*/
GPIO_InitStructure.GPIO_Pin
=
GPIO_Pin_7
|
GPIO_Pin_8
|
GPIO_Pin_9;
4.
设置选中
GPIO
管脚的速率
例如?/p>
/*
设置选中
GPIO
管脚的速率为最高速率
2MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
//
最高速率
2MHz
5.
设置选中
GPIO
管脚的模?/p>
例如?/p>
/*
设置选中
GPIO
管脚的模式为开漏输出模?/p>
*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
//
开漏输出模?/p>
6.
根据
GPIO_InitStructure
中指定的参数初始化外?/p>
GPIOX
例如?/p>
/*
根据
GPIO_InitStructure
中指定的参数初始化外?/p>
GPIOC */
GPIO_Init(GPIOC, &GPIO_InitStructure);
7.
其他应用
例:
将端?/p>
GPIOA
的第
10
?/p>
15
脚置
1
(高电平?/p>
GPIO_SetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);
例:
将端?/p>
GPIOA
的第
10
?/p>
15
脚置
0
(低电平?/p>
GPIO_ResetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);