登录/注册

st32f103 adc3

更多

STM32F103 系列的 ADC3 是部分型号(如大容量型号 STM32F103xC/D/E)中的第三个 ADC 模块,与 ADC1 和 ADC2 类似,但功能和配置上有一些需要注意的细节。以下是关于 ADC3 的关键点:


1. ADC3 的存在性


2. ADC3 的主要特性


3. 配置步骤(以标准库为例)

(1) 使能时钟

RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE);  // 使能 ADC3 时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE); // 使能对应 GPIO 时钟

(2) 配置 GPIO

将 ADC3 通道对应的 GPIO 设为模拟输入:

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOx, &GPIO_InitStructure);

(3) 初始化 ADC3

ADC_InitTypeDef ADC_InitStructure;
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;      // 独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE;           // 单通道模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;     // 单次转换
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; // 软件触发
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;  // 数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 1;                 // 转换通道数
ADC_Init(ADC3, &ADC_InitStructure);

(4) 校准 ADC

ADC_Cmd(ADC3, ENABLE);                // 先使能 ADC
ADC_ResetCalibration(ADC3);           // 复位校准
while(ADC_GetResetCalibrationStatus(ADC3)); // 等待复位完成
ADC_StartCalibration(ADC3);           // 开始校准
while(ADC_GetCalibrationStatus(ADC3));     // 等待校准完成

(5) 启动转换

ADC_RegularChannelConfig(ADC3, channel, 1, ADC_SampleTime_55Cycles5); // 配置通道和采样时间
ADC_SoftwareStartConvCmd(ADC3, ENABLE);      // 启动转换
while(!ADC_GetFlagStatus(ADC3, ADC_FLAG_EOC)); // 等待转换完成
uint16_t value = ADC_GetConversionValue(ADC3); // 读取结果

4. 注意事项

  1. 通道与引脚映射

    • ADC3 的通道与具体型号相关,需查阅数据手册的 引脚分配表(如 ADC3_IN0 可能对应 PC0)。
    • 部分通道可能与 ADC1/ADC2 复用同一引脚。
  2. 参考电压

    • 确保 VREF+VSSA 正确连接,避免测量噪声。
  3. 时钟配置

    • ADC3 的时钟源为 APB2 总线时钟,需确保不超过 14 MHz(可通过分频调节)。
  4. 中断与 DMA

    • 若使用中断或 DMA,需配置对应的 NVIC 或 DMA 通道(如 ADC3 的 DMA 请求可能映射到 DMA2)。

5. 常见问题


如果需要更具体的代码或配置(如多通道扫描、DMA 传输),建议结合数据手册(如 STM32F103xx Reference Manual)和实际硬件设计进行调整。

STM32F103VCT6 ADC和DMA的速度为什么不一致?

最近调试STM32F103VCT6,发现一个很奇怪的问题。现在采用ADC1和ADC3,同时采集两路波形,采集速率都配到了1.5时钟,大约1.17

2024-05-16 07:12:53

ST32F103单片机烧录程序,有段数据需要存放到flash中,怎么操作?

ST32F103单片机烧录程序,有段数据需要存放到flash中,怎么生成的hex中带这段数据,直接烧录程序就一起把这段数据烧录进去呢?

2024-04-19 07:28:20

STM32H750VBT6 ADC1,ADC2,ADC3,加DMA为什么ADC3回调函数不能正常工作?

STM32H750VBT6ADC1,ADC2,ADC3,加DMA为什么ADC3

2024-03-29 07:23:03

从SXX32F103移植到MH32F103A教程

  这篇迁移指南旨在帮助您分析从现有的SXX32F103器件移植到MH32F103A器件所需的步骤。本文档收集了最重要的信息,并列出了需要注意的重要事项。   要将应用程序从SXX32

资料下载 xinling技术 2022-04-15 16:40:23

国产M3替代STM32F103XX

硬件+软件兼容:(1)中科芯cks32f103XX官网没有资料(国企的通病),很草荡,只有代理商那边有开发板和资料(2)GD32F103兆易,资料全,用量多,价格在国产中算高,

资料下载 362163 2021-12-02 18:21:11

NS32F103CBT6软硬件通用STM32F103CBT6

本文给出了NS32F103x8和NS32F103xB标准型MCU产品的器件特性NS32F103x8和NS32

资料下载 汇英同创杨娴 2021-11-26 15:01:50

STM32F103RC DMA ADC 温度,电压采样

STM32F103RC DMA ADC 温度,电压采样#include "stm32f10x.h"#include &quo

资料下载 刘满贵 2021-11-23 17:51:19

基于ARM的32位MCU芯片STM32F103x4/103x6

基于ARM的32位MCU芯片STM32F103x4/103x6

资料下载 jf_42320578 2021-05-21 15:32:12

同时触发ADC1 ADC2 ADC3方法

同时触发ADC1 ADC2 ADC3方法

2023-10-19 06:24:16

STM32H723H激活ADC3时,init有3行错误怎么解决?

CubeMX不允许将 LTDC Pin PB11的速度更改为高,它只接受“低”,激活ADC3时,init有3行错误:静态无效 MX_ADC3_I

2023-01-13 06:59:20

STM32F103RGT6关于adc引脚的混淆问题求解

我想在我的 STM32F103RGT6 Uc 中使用 ADC,但我不明白 pdf 中关于引脚位置的内容。在这份文件中我们可以看到,有 3 个

2023-01-13 06:43:39

有什么办法去校准STM32F303RE微控制器上的ADC3呢?

您好,我正在尝试校准我的 STM32F303RE 微控制器上的 ADC3。根据 REF MANUAL,我启用了 ADC 电压调节器,然后开始校准

2022-12-26 09:32:23

是否有STM32H7x3的DMA模式中的ADC3示例呢?

我正在尝试在 H753 上将 ADC3 与 BDMA 结合使用。从将 BDMA 通道 0 分配给 ADC3 的一些立方体生成的代码开始。SRAM4 中分配的内存。添加了 BDMA_Channel0

2022-12-13 07:45:10

STM32f103系列有3ADC

30.1 ADC 简介STM32f103 系列有 3 个 ADC,精度为

2021-08-12 06:55:59
7天热门专题 换一换
相关标签