GPIO按照ABC进行分组管理,每组GPIO都有自己独立的配置寄存器:
GPIOX_CRL/GPIOx_CRH:输入输出模式配置
GPIOx_IDR:数据输入
GPIOx_ODR:数据输出
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE); //使能PD端口时钟
GPIO_InitTypeDef是GPIO的初始化结构
使用IO口:
1.使能时钟
2.定义GPIO数据结构
typedef struct
{
uint16_t GPIO_Pin; //要操作的引脚
GPIOSpeed_TypeDef GPIO_Speed; //速度
GPIOMode_TypeDef GPIO_Mode; //模式
}GPIO_InitTypeDef;
3.初始化GPIO数据结构
4.通过库函数接口
GPIO配置:
1.悬空输入,降低功耗
2.上下拉:钳位电平,增强驱动(多了一路电流),抗干扰
3.模拟输入:不需要上下拉,不经过触发器,专门模拟电信号,一般ADC
4.开漏输出:通常情况下只能输出0,完美兼容不同外设电平
5.复用:表示IO不是普通的IO,而是具有特殊功能的IO,如SPI,UART等
6.通用的推挽输出:为了提高驱动能力。
按键轮询:
while(1){ if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0){ LED_XXX_ON(); BEEP_XXX_ON(); Delay(500); }else{ LED_XXX_OFF(); BEEP_XXX_OFF(); Delay(500); }
TRANSLATE with x English TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back 标签:记录,GPIOx,XXX,STM32,location,IO,GPIO,document From: https://www.cnblogs.com/ustc2122zy/p/17630125.html