引脚定义:
新建工程步骤:
GPIO简介:
GPIO常见模式:
配置GPIO常见代码(以点亮LED为例):
.c文件:
void LED_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
//开启时钟
GPIO_InitTypeDef GPIO_InitStructure; //引脚定义
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //引脚模式
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_0; //引脚口
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //引脚速度
GPIO_Init(GPIOA, &GPIO_InitStructure); //引脚初始化
GPIO_SetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_0); //引脚设为高电平
}
引脚模式如下:
typedef enum
{ GPIO_Mode_AIN = 0x0,
//模拟输入模式。在这种模式下,引脚可以接收模拟电压信号
GPIO_Mode_IN_FLOATING = 0x04,
// 浮空输入模式。在这种模式下,GPIO引脚既不会被内 部上拉电阻或下拉电阻所拉高或拉低,也没有外部连接的电阻。因此,GPIO引脚处于高阻抗态,可以接收外部电平信号。
GPIO_Mode_IPD = 0x28,
//输入下拉模式(Input Pull-Down Mode):在输入模式下,启用下拉电阻,使引脚保持低电平。
GPIO_Mode_IPU = 0x48,
//输入上拉模式(Input Pull-Up Mode):在输入模式下,启用上拉电阻,使引脚保持高电平。
GPIO_Mode_Out_OD = 0x14,
//设置 GPIO 引脚为开漏输出模式的函数或常量。
GPIO_Mode_Out_PP = 0x10,
//GPIO模式设置为推挽输出.
GPIO_Mode_AF_OD = 0x1C,
//GPIO引脚设置为复用功能,并且采用开漏输出模式。
GPIO_Mode_AF_PP = 0x18
//GPIO引脚设置为/复用推挽模式。
} GPIOMode_TypeDef;
.h文件:
#ifndef __LED_H
#define __LED_H
void LED_Init(void);
void LED1_ON(void);
void LED1_OFF(void);
void LED2_ON(void);
void LED2_OFF(void);
void LED1_Turn(void);
void LED2_Turn(void);
#endif