STM32基本外设(GPIO)
提示:选用STM32C8T6
一、GPIO是什么?
GPIO(General Purpose Input Output)通用输入输出口 可配置为8种输入输出模式 引脚电平:0V~3.3V,部分引脚可容忍5V 输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等 输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等
二、使用步骤
1.初始化端口
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
2.输入输出模式
通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式 (1) GPIO_Mode_AIN 模拟输入 (2) GPIO_Mode_IN_FLOATING 浮空输入 (3) GPIO_Mode_IPD 下拉输入 (4) GPIO_Mode_IPU 上拉输入 (5) GPIO_Mode_Out_OD 开漏输出 (6) GPIO_Mode_Out_PP 推挽输出 (7) GPIO_Mode_AF_OD 复用开漏输出 详细:
3.调用库函数
**设置端口输出**
GPIO_SetBits(GPIOC, GPIO_Pin_13);
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
GPIO_WriteBit(GPIOC, GPIO_Pin_13, 1);
**读取端口电平**
GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13);
GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_13);
总结
在进行配置完,端口结构体后,记得在main的主循环进行初始化调用
|