STM32中io口拉到3.3v的配置是那些,请用代码详细说明
时间: 2024-05-15 20:17:51 浏览: 38
STM32的IO口如何配置
STM32的IO口拉到3.3V的配置,需要通过配置寄存器实现。以下是用代码详细说明:
首先,在定义端口之前需要对其进行初始化,代码如下:
```
void init_GPIO(){
RCC->APB2ENR |= (1 << RCC_APB2ENR_IOPCEN_Pos);
RCC->APB2ENR |= (1 << RCC_APB2ENR_AFIOEN_Pos);
// 配置 PC13
GPIOC->CRH &= ~(GPIO_CRH_CNF13_Msk | GPIO_CRH_MODE13_Msk);
GPIOC->CRH |= (0b0100 << GPIO_CRH_MODE13_Pos);
}
```
上述代码中,我们首先开启了GPIOC端口和AFIO功能的时钟。然后,我们配置了PC13口的寄存器CRH,使其成为推挽输出模式,并且输出3.3V电平。
在代码中,`RCC_APB2ENR_IOPCEN_Pos`表示GPIOC时钟使能位在RCC_APB2ENR中的位置,`RCC_APB2ENR_AFIOEN_Pos`表示AFIO时钟使能位在RCC_APB2ENR中的位置。`GPIO_CRH_CNF13_Msk`和`GPIO_CRH_MODE13_Msk`表示PC13口在CRH寄存器中的控制位范围,`GPIO_CRH_MODE13_Pos`表示PC13口的控制位开始的位置。因此,我们通过设置CRH寄存器的位来配置PC13口的工作模式,保证其输出3.3V电平。
除了PC13端口之外,其他端口的配置方式类似,仅需更改端口号和控制位的位置。
阅读全文