stm32GPIO初始化

//以led灯的为例,配置led灯引脚为PB5。
#ifndef _LED_H
#define _LED_H
#include "sys.h"

void LED_Init(void);

以上先定义led.h文件

再定义led.c文件

#include "led.h"

void LED_Init(void){
    //定义GPIO_InitStructure结构体变量,便于配置结构体内变量。
    GPIO_InitTypeDef GPIO_InitStructure;
    //使能端口B的时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
    
    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
    GPIO_Init(GPIOB,GPIO_Pin_5);
}

 

注意:4种输入模式

(1)GPIO_Mode_IN_FLOATING 浮空输入
(2)GPIO_Mode_IPU 上拉输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_AIN 模拟输入

2、4种输出模式 

(5)GPIO_Mode_Out_OD 开漏输出(带上拉或者下拉)
(6)GPIO_Mode_AF_OD 复用开漏输出(带上拉或者下拉)
(7)GPIO_Mode_Out_PP 推挽输出(带上拉或者下拉)
(8)GPIO_Mode_AF_PP 复用推挽输出(带上拉或者下拉)
 

 

你可能感兴趣的:(单片机,嵌入式硬件,stm32)