STM32的VDD和VDDA必须严格遵循数据手册的电源拓扑:VDDA通常需独立供电(1.8~3.6V),且与VDD之间串联磁珠(如600Ω@100MHz)或10Ω电阻,并各接100nF+4.7μF去耦电容到地。关键点:1)VDDA的参考地VSSA必须与VSS单点连接,避免数字噪声耦合;2)若使用ADC,VDDA纹波需<10mV,建议加LC滤波(如10μH+10μF);3)VDD引脚每个都就近放100nF电容,且PCB布局时电容尽量靠近引脚,过孔直连。实操建议:先看芯片型号对应的数据手册(如STM32F103的DS5319),确认VDDA范围;若系统只有3.3V,可直接将VDDA接VDD但必须加磁珠隔离;若用内部参考电压(如VREF+),需额外滤波。
```c
// 典型电源初始化(伪代码)
GPIO_InitTypeDef GPIO_Init = {0};
__HAL_RCC_ADC1_CLK_ENABLE();
// 确保VDDA稳定后再使能ADC
HAL_Delay(10); // 等待电源稳定
```
注意:不要将VDDA悬空,否则ADC精度会严重下降甚至损坏芯片。
mcuku 阿沐 · 2026-08-17