STM32F0(2)GPIO口配置
扫描二维码
随时随地手机看文章
// 配置端口的输入 , 输出模式
// 将PA0 配置为输入模式
void GPIO_Init(void)
{
RCC->AHBENR |= RCC_AHBENR_GPIOAEN; // 打开当前GPIO口的时钟
GPIOA->MODER &= ~GPIO_MODER_MODER0_1; // 设置为 输入 模式
GPIOA->MODER &= ~GPIO_MODER_MODER0_0;
GPIOA->PUPDR &= ~GPIO_PUPDR_PUPDR0_1; // 设置为上拉输入
GPIOA->PUPDR |= GPIO_PUPDR_PUPDR0_0;
}
// 将PA15 配置为输出模式
void GPIO_Init(void)
{
RCC->AHBENR |= RCC_AHBENR_GPIOAEN; // 打开当前GPIO口的时钟
GPIOA->MODER |= GPIO_MODER_MODER15_0; // 设置为 输出 模式
GPIOA->MODER &= ~ GPIO_MODER_MODER15_1;
GPIOA->OTYPER &= ~GPIO_OTYPER_OT_15; // 设置为推挽输出
GPIOA->OSPEEDR |=GPIO_OSPEEDR_OSPEEDR15_1; //设置为输出速率最大。
GPIOA->OSPEEDR |=GPIO_OSPEEDR_OSPEEDR15_0;
}
// 将PA3设置成复用功能 -- UART2_Rx引脚
void GPIO_Init(void)
{
RCC->AHBENR |= RCC_AHBENR_GPIOAEN; // 打开当前GPIO口的时钟
GPIOA->MODER |= GPIO_MODER_MODER3_1; // 开启GPIO复用模式
GPIOA->MODER &= ~GPIO_MODER_MODER3_0;
GPIOA->AFR[0] |= 0x00001000; // 开启复用功能的对应AFIO(具体AFR对应何种数值参考截图)
}