|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 skw168 于 2019-2-20 20:45 编辑
前言:刚开始用STM32单片机,在此处做个总结,如果有问题或建议欢迎提出
下面讲解下配置GPIO步骤(使用库函数)
1:GPIO 宏定义
#define PORT_IR GPIOA
#define PORT_LED GPIOB
#define PIN_LED_HIGH GPIO_Pin_11
#define PIN_LED GPIO_Pin_12
#define PIN_KEY GPIO_Pin_0
#define PIN_KEY_SET GPIO_Pin_1
#define KEY GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0)
#define KEY_SET GPIO_ReadInputDataBit(GPIOB, PIN_KEY_SET)
2:使能GPIO时钟,及APB2时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD |
RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO |
, ENABLE);
3:声明一个 初始化结构体
GPIO_InitTypeDef GPIO_InitStructure;
4:选择要设置的引脚
GPIO_InitStructure.GPIO_Pin = PIN_IR_LOW | PIN_IR_HIGH; //引脚
5:设置GPIO速度
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //频率(50M)
6:设置GPIO输入或输出类型
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //输出类型(推挽式输出)
或GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉输入
7:调用GPIO初始化函数
GPIO_Init(PORT_IR, &GPIO_InitStructure);
初始化已完成,下面是如何在程序里面使用IO
IO输出:GPIO_ResetBits(PORT_LED,PIN_LED_HIGH);
GPIO_SetBits(PORT_LED,PIN_LED_HIGH);
IO输入:
if(KEY_SET)
{
}
|
打赏
-
查看全部打赏
|