1 STM32 F4系列ADC模数转换
- STM32F407ZGT6 有 3 个 ADC,每个 ADC 有 12 位、10 位、8 位和 6 位可选,每个 ADC 有 16 个外部通道。另外还有两个内部 ADC 源和 VBAT 通道挂在 ADC1 上。ADC 具有
独立模式
、双重模式
和三重模式
,对于不同 AD 转换要求几乎都有合适的模式可选。
2 STM32H743系列ADC模数转换
- STM32H743 有 3个 ADC,每个 ADC有 16 位、14位、12 位、10 位和 8 位可选,每个ADC 有 20个外部通道。ADC3的通道 ADC3_INP/INN18 连接到芯片内部的温度传感器V SENSE ,通道 ADC3_INP/INN19 连接到了内部参考电压 V REFINT 连接,通道ADC3_INP/INN17 连接到了备用电源 V BAT 。ADC2通道 16、17连接到了 DAC的内部通道1、2。ADC具有独立模式、双重模式,对于不同 AD 转换要求几乎都有合适的模式可选。
- STM32H743 的 ADC 最大的转换速率为 4.5Mhz,也就是转换时间为 0.22us(12 位分辨率时),不要让 ADC 的时钟超过 36M,否则将导致结果准确度下降。
- STM32H743 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组。规则通道相当于你正常运行的程序,而注入通道呢,就相当于中断,STM32H743 其 ADC 的规则通道组最多包含 16 个转换,而注入通道组最多包含 4 个通道。
- 引脚对照表:
3 HAL库ADC模块开发
3.1 F407 ADC模块开发
- 分频计算
- 时钟配置,配置ADC属性(168M,最大36M,所以4分频)
- ADC配置
- 生成工程
3.2 H743 ADC模块开发
- 配置晶振
- 配置串口
- 配置ADC通道
- 时钟配置
- 程序设计
- ADC属性设置
- 通道一属性
- 使用串口打印
- ADC代码开发
3.3 F4系列多重模式(速率相对于单重模式要快三倍)
- 若要达到36M时,需要这样设置,进行1分频后,为36M ADC采样率
- 若要采用21M速率时,设置PCLK2为84M, 进行4分频后,为21M ADC采样率
以ADC占主导,所以启动顺序3,2,1,只要启动ADC1的DMA即可