首页 > 解决方案 > 如何打开 STM32F1 GPIO 引脚 PA2 上的 LED?

问题描述

如何使用标准注册表配置打开 PA2 GPIO (STM32F103C8T6) 上的 LED。

RCC-> APB2ENR |= (1<<2);
GPIOA->CRL |= (1<<9);
GPIOA->ODR |= (1<<3);

对我不起作用。你能建议我在哪里犯错吗?

标签: stm32

解决方案


根据参考手册,GPIOA CRL 寄存器重置为 0x4444 4444(参见参考手册的第 9.2.1 节)。当您执行以下命令时:

GPIOA->CRL |= (1<<9);

您将 PA2 的 MODE 位设置为 10(输出模式,最大速度 2 MHz)。但由于初始寄存器初始化,CNF2 位为 01,为开漏配置。您应该使用以下内容初始化 PA2

GPIOA->CRL &= ~(0b0000<<8);
GPIOA->CRL |= (0b0010<<8);

这可确保 MODE2 和 CNF2 均已设置,因此引脚用作推挽配置的输出


推荐阅读