对于stm32来说如果需要调用外部时钟总线上的外设就需要对外部时钟进行初始化
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
以上代码就是对初始化APB2时钟上的GPIOA口的第0号引脚使能。
通过配置其结构体的变量来对其寄存器进行配置。
上图是STM32手册中的GPIO口图片:
- 输入模式:其输入模式有三种分别是上拉输入、浮空输入、下拉输入。其中浮空状态易受到外部干扰;上拉模式是默认高电平输入模式;下拉状态是默认低电平输入模式。
- 输出模式:输入模式通过两个mos管来进行模式选择分别是推挽输出、开漏输出、关闭。其中推挽输出可以增强驱动能力,高电平时PMOS管有效,低电平时NMOS管有效;开漏输出是NMOS管有效,输入电平为1时断开,表现为高阻状态,输入电平为0时,导通,输出低电平。
4个输出:
开漏输出-GPIO_Mode_Out_OD
推挽输出-GPIO_Mode_Out_PP
复用开漏输出-GPIO_Mode_AF_OD
复用推挽输出-GPIO_Mode_AF_PP。
4种输入:
模拟输入-GPIO_Mode_AIN
浮空输入-GPIO_Mode_IN_FLOATING
下拉输入-GPIO_Mode_IPD
上拉输入-GPIO_Mode_IPU
————————————————
版权声明:本文为CSDN博主「小陈的学习手册」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_50224106/article/details/123331976