GPIO_Analog(模拟模式)
ADC(模数转换器)
关键点:GPIO_Analog 是“通路准备”,ADC 是“信号转换”。
特性 | GPIO_Analog | ADC |
---|---|---|
信号路径 | 关闭数字电路,信号直通模拟外设 | 对引脚电压采样→量化→编码为数字值 |
配置寄存器 | GPIOx_MODER(模式寄存器) | ADCx_CR(控制寄存器)、ADCx_SQR(序列寄存器) |
数据读取 | 无法通过输入寄存器读取电平(恒为0) | 通过 ADCx_DR 寄存器读取转换结果 |
关联性 | 为 ADC 提供低噪声输入通路,但非必需 | 依赖 GPIO_Analog 模式保证信号精度 |
⚠️ 若 GPIO 未配置为 Analog 模式,ADC 采集可能受数字电路干扰导致误差。
GPIO_Analog 配置步骤(以 STM32CubeMX 为例):
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct)
)ADC 配置步骤:
ADC_CHANNEL_1
对应 PA1);HAL_ADC_Start(&hadc1); HAL_ADC_GetValue(&hadc1);
)依赖关系:
ADC 需采集某引脚电压时,必须先将该引脚设为 GPIO_Analog 模式,否则信号可能失真。
维度 | GPIO_Analog | ADC |
---|---|---|
性质 | GPIO 工作模式(电气配置) | 独立外设(功能模块) |
核心作用 | 提供低噪声模拟信号通路 | 将模拟电压转换为数字值 |
配置位置 | GPIO 控制器 | ADC 控制器 |
数据交互 | 无直接数据输出 | 输出数字量到寄存器 |
必要性 | ADC 采集的前置条件 | 可独立工作,但需配合 GPIO_Analog |
建议使用 STM32CubeMX 工具自动配置引脚与外设关联,避免手动配置冲突。