stm32f429 adc2
STM32F429 的 ADC2 是芯片内置的 12 位模数转换器,支持多通道输入和多种工作模式。以下是其关键特性和配置要点:
主要特性
-
独立与双重模式
- ADC2 可单独工作在 独立模式,也可与 ADC1 组合为 双重模式(同步采样,提升吞吐率)。
- 注意:双重模式下,ADC1 为主设备,ADC2 为从设备,需统一配置触发源和时钟。
-
通道与引脚映射
- 支持 16 个外部通道(具体 GPIO 需查数据手册,如 PC1 对应 ADC2_IN11)。
- 部分内部通道:温度传感器(通常绑定到 ADC1)、VBAT 监测等(需确认型号)。
-
时钟与采样率
- 时钟源为 APB2 总线,最大频率 36 MHz(需通过预分频器配置)。
- 采样时间可调(3~480 个周期),转换时间 = 采样周期 + 12 个固定周期。
-
触发方式
- 软件触发(
ADC2->CR2 |= ADC_CR2_SWSTART)。 - 硬件触发(如定时器、外部中断)。
- 软件触发(
配置步骤
-
使能时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC2, ENABLE); // 使能 ADC2 时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); // 使能对应 GPIO 时钟(如 PC1) -
配置 GPIO 为模拟输入
GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Pin = GPIO_Pin_1; // 例如 PC1 GPIO_InitStruct.Mode = GPIO_Mode_AN; // 模拟模式 GPIO_InitStruct.Pull = GPIO_NOPULL; // 禁用上下拉 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); -
初始化 ADC2
ADC_HandleTypeDef hadc2; hadc2.Instance = ADC2; hadc2.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; // 时钟分频(36MHz /4 = 9MHz) hadc2.Init.Resolution = ADC_RESOLUTION_12B; // 12 位分辨率 hadc2.Init.ScanConvMode = DISABLE; // 非扫描模式(单通道) hadc2.Init.ContinuousConvMode = DISABLE; // 单次转换 hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT; // 数据右对齐 HAL_ADC_Init(&hadc2); // 配置通道(例如通道 11) ADC_ChannelConfTypeDef sConfig; sConfig.Channel = ADC_CHANNEL_11; // PC1 对应 ADC2_IN11 sConfig.Rank = 1; // 规则组第1个通道 sConfig.SamplingTime = ADC_SAMPLETIME_56CYCLES; // 56 个周期采样时间 HAL_ADC_ConfigChannel(&hadc2, &sConfig); -
校准与启动
HAL_ADCEx_Calibration_Start(&hadc2, ADC_SINGLE_ENDED); // 校准 HAL_ADC_Start(&hadc2); // 启动转换 -
读取数据
if (HAL_ADC_PollForConversion(&hadc2, 100) == HAL_OK) { uint16_t adc_value = HAL_ADC_GetValue(&hadc2); }
注意事项
- 双重模式:若使用 ADC1+ADC2 同步采样,需配置为双重模式,并确保触发源和 DMA 正确(通常共用一个 DMA 流)。
- 参考电压:确保 VDDA 和 VSSA 稳定,避免噪声影响精度。
- 中断/DMA:可通过
HAL_ADC_Start_IT()或HAL_ADC_Start_DMA()实现非阻塞式转换。 - 通道冲突:避免同一 ADC 模块的不同通道配置冲突(如扫描模式需正确设置通道数和顺序)。
资源参考
- 数据手册:查看
STM32F429xx Datasheet获取 ADC2 的引脚映射。 - 参考手册:查阅
RM0090文档了解 ADC 寄存器配置细节。 - CubeMX:使用 STM32CubeMX 工具自动生成初始化代码。
如需进一步代码示例或特定模式配置,请提供更多需求细节!
Zephyr笔记:在STM32F429上运行HelloWorld
前面文章的操作,虽然在Windows下能够成功的编译STM32F429的工程,但是却不能在野火挑战者V2开发板上运行,因为Zephyr代码中的STM32F42
2023-04-06 11:42:33
在STM32F429官方的例程尝试使用串口2
硬件平台STM32F429I-DISCOVERY、USB转串口工具开发平台Keil MDK问题最近由于我需要使用STM32F429芯片的串口2,
【STM32F429开发板用户手册】第8章 STM32F429的终极调试组件Event Recorder
【STM32F429开发板用户手册】第8章 STM32F429的终极调试组件Event Recorder
资料下载
佚名
2021-12-04 14:06:04
【STM32F429开发板用户手册】第1章 初学STM32F429的准备工作
【STM32F429开发板用户手册】第1章 初学STM32F429的准备工作
资料下载
麻酱
2021-12-04 13:51:04
STM32F429芯片使用USART2(PA2、PA3)问题
硬件平台STM32F429I-DISCOVERY、USB转串口工具开发平台Keil MDK问题最近由于我需要使用STM32F429芯片的串口2,
资料下载
赵辉
2021-12-02 16:36:10
STM32F429移植FreeRTOS
STM32F429移植FreeRTOS一、环境Win10、Keil uVision5、STM32CubeMX、STM32F429IGT6二、准备
stm32f429/f767核心板电路方案
stm32f429/767 核心板,邮票孔,SDRAM等长布线,兼容正点原子底板。 在正点原子阿波罗F4核心板基础上又添加邮票空引脚设计。走线优化。 Stm3
2020-12-07 10:56:33
基于STM32F429开发板的电源复位设计
学习STM32F429的电源供电,往往被一堆电源标识Vdd,Vdda,Vcap,Vss等搞迷糊,这些标识整明白了,电源供电部分也就理解了
2020-10-06 00:22:00
STM32F429芯片带FIFO的DMA传输实现过程
STM32系列芯片都内置DMA外设,其中很多系列的DMA配备了FIFO。这里以STM32F429芯片及开发板为例,演示一下带FIFO的DMA传输实现过程。
2020-09-04 14:36:14
STM32F1的ADC2如何使用DMA功能 USART过载错误Overrun error
STM32F1的ADC2如何使用DMA功能,USART过载错误Overrun error
2020-03-14 14:42:01
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机