目录
一、简介
二、结构
三、功能
1.GPIO
2.外部中断
四、示例
一、简介
输入输出(IO)是单片机最基本的外设功能之一。根据型号不同,STM32的IO端口数量不同,如64引脚的STM32F103RBT6有A、B、C、D四个IO端口,每个端口有16个引脚。每个引脚可以作为通用输入输出(GPIO,General Purpose Input Output),大部分引脚也可以作为复用功能输入输出(AFIO,Alternate Function Input Output)。
二、结构
STM32F10x的IO端口的基本组成结构如图所示:
三、功能
1.GPIO
通用功能输入输出(GPIO)包括下面几种模式:
2.外部中断
所有端口都有外部中断能力,为了使用外部中断线,端口必须配置成输入模式。外部中断/事件控制器结构及应用在STM32单片机外部中断EXTI详细论述。
四、示例
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
//开启GPIOA的时钟,以便能够使用外设GPIO
GPIO_InitTypeDef GPIO_InitStructure; //定义结构体变量
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //GPIO模式,设为推挽输出模式
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //GPIO引脚,设为第0号引脚
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //GPIO速度,设为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //根据上述参数初始化GPIOA端口
GPIO_ResetBits(GPIOA, GPIO_Pin_0); //将PA0引脚设置为低电平
GPIO_SetBits(GPIOA, GPIO_Pin_0); //将PA0引脚设置为高电平