ADC简介 ADC控制器的功能极其强大。其包含但不限于以下内容 时钟及状态,由数字和模拟时钟两个部分组成 分辨率及采样转换,可配置分辨率为12/10/8/6位的转换,采样周期支持广范围的配置 自校准,自带校准功能以纠正数据偏移 基本模式,支持多种模式,不同模式可组合使用满足多种应用 不同优先权的通道,普通通道与抢占通道具备不同的优先权 多种独立的触发源,包括TMR、EXINT、软触发等多种触发选择 数据后级处理,包括数据的对齐,抢占通道偏移量等多种处理 转换中止,可软件控制在ADC不掉电状态下实现转换中止 过采样器,普通及抢占通道均支持过采样 电压监测,通过对转换结果的判定来实现电压监测 中断及状态事件,具备多种标志指示ADC状态,且某些标志还具备中断功能 多种转换数据的获取方式,包括DMA获取、CPU获取两种方式实现转换数据的读取 联动多ADC的主从模式,可设定同时、交错、位移等多种组合模式,且支持单及双从机选择 图1. ADC1框图 ADC功能解析 时钟及状态 功能介绍 数字时钟:即PCLK2,经HCLK分频而来,提供给数字部分使用。 模拟时钟:即ADCCLK,经ADC预分频器分频而来,提供给模拟部分使用。 软件接口 ADC预分频设定,软件由ADC公共部分结构体配置完成,其软件实例如下:
分辨率及采样转换 功能介绍 ADC采样周期设定,软件由单独的函数接口实现,其软件实例如下:
自校准 功能介绍 软件下自校准命令,由硬件自动计算,产生的校准值保存在ADC->CALVAL寄存器内 软件直接根据经验值,手动设定校准值,该值同样被保存在ADC->CALVAL寄存器内 自校准的软件流程如下 在12位分辨率状态下使能ADC 等待ADC的RDY标志置位 执行初始化校准命令并等待初始化校准完成 执行校准命令并等待校准完成 根据应用需求切换到期望配置的分辨率 等待ADC的RDY标志置位 执行完上述流程后,即可开始进行ADC的触发转换。 软件接口 基本模式 1、功能介绍 反复模式 ADC支持反复模式设定,开启反复模式后,当检测到触发后就即会反复不断地转换普通通道组。 分割模式 ADC支持分割模式设定。 对于普通通道组,分割模式可依据设定将通道组分割成长度较小的子组别。一次触发将转换子组别中的所有通道。每次触发会依序选择不同的子组别进行转换。 对于抢占通道组,分割模式直接以通道为单位进行分割,一次触发将转换单个通道。每次触发会依序选择不同的通道进行转换。 抢占自动转换模式 ADC支持抢占自动转换模式设定,开启抢占自动转换模式后,当普通通道转换完成后,抢占通道将自动接续着转换,而不需要进行抢占通道的触发。 不同优先权的通道 1、功能介绍 多种独立的触发源 功能介绍 数据后级处理 1、功能介绍 转换中止 功能介绍 过采样器 1、功能介绍 由ADC_OVSP的OSRSEL选择过采样率,此位用来定义过采样倍数; 由ADC_OVSP的OSSSEL选择过采样移位,此位用来定义平均系数。 若平均后数据大于16位,只取靠右16位数据,放入16位数据寄存器。 使用过采样时,忽视数据对齐及抢占数据偏移的设定,数据一律靠右摆放。 普通通道过采样被打断后的恢复方式 普通通道过采样中途被抢占通道转换打断后的恢复方式由OOSRSEL设定 OOSRSEL=0:接续模式。保留已累加的数据,再次开始转换时将从打断处转换; OOSRSEL=1:重转模式。累加的数据被清空,再次开始转换时重新开始该通道的过采样转换。 图8. 普通过采样被打断后的恢复方式 普通通道过采样触发模式 普通通道过采样的触发模式由OOSTREN设定 OOSTREN=0:关闭触发模式。通道的所有过采样转换仅需一次触发; OOSTREN=1:开启触发模式。通道的每个过采样转换均需进行触发。 此模式下,中途被抢占通道触发打断后,须重新触发普通通道才会恢复转换普通通道过采样。 抢占通道过采样 抢占过采样可与普通过采样同时使用,也可分别使用。抢占过采样不影响到普通过采样的各种模式。 电压监测 功能介绍 中断及状态事件 功能介绍 ADC含有多种中断及状态标志。应用需要结合这些标志进行程序设计。 ADC准备就绪标志(RDY) 指示ADC状态,只读位,软件不可清除,无产生中断能力。 ADC上电完毕后会置位,只有RDY标志置位后,才可进行校准及触发转换。 普通通道转换溢出标志(OCCO) 指示ADC转换数据溢出,标志由软件对其自身写零清除,有产生中断能力。 无独立的溢出检测使能位,在使能DMA传输或者EOCSFEN=1时有效,当上一笔转换数据未被读走,下一笔转换数据已产生时就会置位此标志。标志清除后的转换恢复分如下两种情况: 1)非组合模式下,此标志置位后,当前转换停止,转换序列不被清零,因此可不用复位ADC, 直接清除标志再次触发转换即可; 2)组合模式下,此标志置位后,当前转换停止,转换序列同样保持,但由于此时可能已丢失同步规则,因此需要复位各ADC,然后重新进行触发转换。 普通通道转换开始标志(OCCS) 指示普通通道转换开始,由软件对其自身写零清除,无产生中断能力。 抢占通道转换开始标志(PCCS) 指示抢占通道转换开始,由软件对其自身写零清除,无产生中断能力。 抢占通道组转换结束标志(PCCE) 指示抢占通道组转换完成,由软件对其自身写零清除,有产生中断能力。 在抢占通道组转换完成后置位,通常应用使用此标志来读取抢占通道组的转换数据。 普通通道转换结束标志(OCCE) 指示普通通道转换完成,由软件对其自身写零或读ODT寄存器清除,有产生中断能力。 在普通通道转换完成后置位,应用可使用此标志来读取普通通道的转换数据(EOCSFEN=1)。 注意:DMA读取转换数据会同步清除OCCE标志,因此在使用DMA时禁止再使用OCCE标志。 电压监测超出范围标志(VMOR) 指示通道电压超出设定阈值,由软件对其自身写零清除,有产生中断能力。 在ADC的通道转换数据超过设定阈值后置位,通常应用使用此标志来监控通道电压。 多种转换数据的获取方式 1、功能介绍 联动多ADC的主从模式 功能介绍 ADC主从模式即通过触发主机来联动从机进行通道转换,并且将通用普通数据寄存器作为获取主从ADC普通通道数据的单一接口。 单从机主从模式以ADC1作为主机,ADC2作为从机,ADC3独立动作。双从机主从模式以ADC1作为主机,ADC2与ADC3作为从机。 同时模式 同时模式可用于普通/抢占/普通抢占组合。配置同时模式后,可触发主机,使主机与从机同时转换各自的通道。在此模式下,必须使用相同的采样时间以及相同的序列长度,以避免主从之间失去同步,遗失数据。 交错触发模式 交错触发模式适用于抢占通道组,可单独使用也可与普通同时模式组合使用。配置抢占交错触发模式后,可多次触发主机的抢占通道,促使主从ADC轮流转换抢占通道组。 位移模式 位移模式适用于普通通道组,此模式只可单独使用,不能与抢占通道组合使用。配置普通位移模式后,可触发主机普通通道,使各ADC之间自动在普通通道的转换上时序位移。 位移长度可由软件经ADC_CCTRL寄存器中的ASISEL位进行设定。 此模式下,硬件会保证不同ADC间的采样间隔至少2.5个ADCCLK。当软件设定的位移长度无法满足这个条件时,软件设定将会变得无效。因此利用这个特性,可以将相同通道安排在不同ADC的同样序列位置。 ADC配置解析 以下对ADC的配置流程及数据获取方法进行说明。 ADC配置流程 ADC的配置一般包括如下内容 外部触发源配置 ADC外部触发源有TMR或EXINT,其配置无特殊性,参考普通的TMR或EXINT配置即可。 注意:此处仅是触发源的配置,触发源的使能需在ADC全部配置完毕后才可进行。 DMA配置使能 ADC普通通道转换数据可通过DMA传输,若应用需要DMA传输时,需提前进行DMA的初始化配置,其配置无特殊性,参考普通的DMA配置即可。 开启ADC数字时钟 开启ADC数字时钟,允许进行相关功能配置。 ADC公共部分结构体配置 包括主从模式、ADC分频、主从模式的DMA模式、DMA请求接续使能、位移模式位移长度、内部温度传感器及Vintrv、Vbat相关配置。 主从模式 依据从机数量、通道类型、组合类型进行选择,支持多达13种模式。 ADC分频 设定ADC模拟部分的时钟,其由HCLK分频而来,可设定2~17中的任意一种分频。 主从模式的DMA模式 需要结合主从模式进行选择,支持多达5种模式,抢占组合模式下需禁止DMA模式 DMA请求接续使能 设定在传输完DMA设定个数数据后,普通通道转换完毕是否再产生DMA请求。 位移模式位移长度 设定位移模式下相邻ADC间的采样间隔时间,可设定5~20个ADCCLK中的任意一种。 内部温度传感器及Vintrv 使能内部温度传感器及内部参考电压,其分别连接到ADC1的CH16和CH17。 Vbat 使能电池电压,电池电压经除4电路后连接到了ADC1的CH18。 注意:用ADC采集VBAT电压,当使能VBATEN后,VBAT会一直耗电,如果应用对功耗敏感,建议只在VBAT采样时才打开,采样结束后关闭。 ADC基础部分结构体配置 包括序列模式、反复模式、数据对齐、普通转换序列长度。 普通通道配置 包含通道配置、触发配置、数据传输方式。 通道配置 由转换顺序、通道值、采样周期的设定组成。其中不同顺序可配置相同通道值。 触发配置 由触发源和触发边沿检测的设定组成。若使用软件触发时,需要禁止触发边沿检测。 数据传输方式 可设定CPU或DMA传输转换数据。在主从组合模式下,需禁止此项配置。 抢占通道配置 包含通道个数、通道配置、触发配置。 通道个数 可设定1~4中的任何一个长度,指示单个抢占序列包含的通道个数,需与实际抢占通道序列个数一致。 通道配置 由转换顺序、通道值、采样周期的设定组成。其中不同顺序可配置相同通道值。 触发配置 由触发源和触发边沿检测的设定组成。若使用软件触发时,需要禁止触发边沿检测。 特殊模式配置(非必需) 分割模式 包括每次触发转换的普通通道个数、普通通道分割模式使能、抢占通道分割模式使能。 抢占自动转换模式 用于设定普通组转换结束后的抢占通道组自动转换使能。 过采样 包括过采样率、过采样移位、普通过采样触发模式使能、普通过采样重转模式选择、普通及抢占过采样使能的设定。 中断配置 使能对应中断,包括溢出中断、普通通道转换结束中断、抢占通道组转换结束中断、电压检测超过范围中断中的一个或多个。 ADC上电 使能ADC让ADC上电,由于上电需要稳定时间,因此ADC上电后需等待ADC的RDY标志处于置位后才可进行后续动作。 ADC校准 为保障ADC转换数据准确,在ADC上电后需进行校准。其包含: A/D初始化校准、等待初始化校准完成、A/D校准、等待校准完成。 ADC分辨率调整 在ADC校准完毕后,即可进行分辨率切换。切换分辨率后,软件需要等待ADC的RDY标志处于置位后才可进行后续动作。 至此,ADC的初始化配置就算全部完成。随后,可通过软件或使能硬件触发源进行触发转换。 ADC数据获取方法 ADC支持多种数据获取方法,通常可概括为如下几种 CPU获取抢占通道数据 抢占通道数据不具备DMA能力,只能透过CPU获取。推荐使用中断获取,方法如下 1) 抢占通道组转换结束中断使能; 2) 抢占通道组转换结束中断函数内将转换数据缓存进数组内; 3) 其他应用逻辑内透过数组内的数据进行数据的后续算法处理。 CPU读取普通通道数据 435额外支持通过CPU读取普通通道数据。为保障数据读取的实时性,同样推荐使用中断获取,方法如下 1) 软件设置ADC_CTRL2的EOCSFEN位让每次数据寄存器更新时置位OCCE标志; 2) 普通通道组转换结束中断使能; 3) 普通通道组转换结束中断函数内将转换数据缓存进数组内; 4) 其他应用逻辑内透过数组内的数据进行数据的后续算法处理。 DMA读取普通通道数据(单buffer模式) 普通通道数据具备DMA能力。为避免软件耗时,可直接采用DMA读取转换数据,方法如下 1) 初始化并使能DMA; 2) 使能ADC的DMA模式; 3) 在DMA传输完成中断函数内获取DMA的buffer数据; 4) 其他应用逻辑内透过buffer数据进行数据的后续算法处理。 DMA读取普通通道数据(双buffer模式) 435的EDMA支持双buffer模式。为避免数据处理不及时,可尝试使用双buffer缓存数据,方法如下 1) 初始化EDMA成双buffer模式并使能EDMA; 2) 使能ADC的DMA模式,使能普通通道数据的DMA请求接续; 3) 在EDMA传输完成中断函数内交叉获取EDMA的buffer数据; 4) 其他应用逻辑内透过获取到的buffer数据进行数据的后续算法处理。 案例 ADC过采样 功能简介 ADC支持过采样功能,在一些要求转换数据准确性的场合,可以使用过采样来实现。 本例将同时使用普通及抢占通道组的过采样。设定8倍过采样,保持12位分辨率。 资源准备 1) 硬件环境 对应产品型号的AT-START BOARD PA4 and PA7——3.3V PA5 and PB0——GND PA6 and PB1——1.5V左右 2) 软件环境 projectat_start_f4xxexamplesadcordinary_preempt_oversampling 软件设计 1) 配置流程 配置ADC使用的GPIO 配置用于普通通道数据传输的DMA ADC相关配置设定 软件触发转换 获取转换数据 2) 代码介绍 GPIO配置函数代码 DMA配置函数代码 ADC配置函数代码 中断服务函数代码 main函数代码 实验效果 可通过串口打印查看实现效果,最终串口打印的转换数据如下。 图18. ADC过采样实验结果 案例 ADC电压监测 功能简介 ADC支持电压监测功能,在需要监测通道电压时,可参考本例进行设计。 本例将固定监控普通通道组的Channel5,监控阈值为0~Vref+/3。 资源准备 1) 硬件环境 对应产品型号的AT-START BOARD PA4——3.3V PA5——0V PA6——1.5V左右 2) 软件环境 projectat_start_f4xxexamplesadcvoltage_monitoring 软件设计 1) 配置流程 配置ADC使用的GPIO 配置用于普通通道数据传输的DMA ADC相关配置及电压监测设定 普通通道软触发 获取转换数据 2) 代码介绍 GPIO配置函数代码 DMA配置函数代码 ADC配置函数代码 中断服务函数代码 main函数代码 实验效果 可通过串口打印查看实现效果,测试过程中随机将Channel5外接1.5V,最终串口打印信息如下。 通过打印信息可以看到:有实际监测到Channel5超过监控阈值,且记录到的实际监控值为1.5V。 图19. ADC电压监测实验结果 案例 ADC双Buffer 功能简介 EDMA具备双缓冲模式功能,ADC配合这个功能使用,可有效提高数据转换效率。 本案例将以该EDMA的双缓冲功能为基础,示范如何配置使用ADC的快速转换。 资源准备 1) 硬件环境 对应产品型号的AT-START BOARD PA4——3.3V PA5——0V PA6——1.5V左右 2) 软件环境 projectat_start_f4xxexamplesadcedma_double_buffer 软件设计 1) 配置流程 配置ADC使用的GPIO 配置用于普通通道数据传输的DMA ADC相关配置及设定 普通通道软触发 获取转换数据 2) 代码介绍 GPIO配置函数代码 DMA配置函数代码 ADC配置函数代码 中断服务函数代码 main函数代码 实验效果 可通过串口打印查看实现效果,如下图所示,ADC转换数据被硬件循环的存储到EDMA设定的两个buffer内了。 图20. ADC电压监测实验结果 案例 ADC DMA模式1 功能简介 ADC主从组合模式下的普通通道转换数据需经DMA传输。DMA支持多种模式,不同模式数据的传输规则存在明显差异。 当选择不适用的DMA模式传输转换数据时,会因传输不及时导致数据溢出等问题。因此应用中ADC主从组合模式与DMA模式需要按照RM要求搭配使用。 DMA模式1适用ADC组合模式如下: 普通同时模式(单从机)、普通位移模式(单从机)、普通同时模式(双从机)、普通位移模式(双从机)本案例将以“DMA模式1+普通同时模式(双从机)”为基础进行使用示范。 资源准备 1) 硬件环境 对应产品型号的AT-START BOARD PA4 and PA7 and PC0——3.3V PA5 and PB0 and PC2——GND PA6 and PB1 and PC3——1.5V左右 2) 软件环境 projectat_start_f4xxexamplesadccombine_mode_ordinary_smlt_twoslave_dma1 软件设计 1) 配置流程 配置ADC使用的GPIO 配置用于触发的TMR(TMR1_TRGOUT2 event) 配置用于普通通道数据传输的DMA ADC相关配置及设定 等待触发完毕后关闭触发TMR 获取转换数据 2) 代码介绍 GPIO配置函数代码 TMR配置函数代码 DMA配置函数代码 ADC配置函数代码 中断服务函数代码 main函数代码 实验效果 可通过串口打印查看实现效果,最终串口打印的转换数据如下。 ADC转换数据以半字为单位进行传输,传输顺序为: ADC1第一个转换通道; ADC2第一个转换通道; ADC3第一个转换通道; ADC1第二个转换通道; ADC2第二个转换通道; ADC3第二个转换通道; ADC1第三个转换通道; ADC2第三个转换通道; ADC3第三个转换通道; ADC1第一个转换通道…… 案例 ADC DMA模式2 功能简介 ADC主从组合模式下的普通通道转换数据需经DMA传输。DMA支持多种模式,不同模式数据的传输规则存在明显差异。 当选择不适用的DMA模式传输转换数据时,会因传输不及时导致数据溢出等问题。因此应用中ADC主从组合模式与DMA模式需要按照RM要求搭配使用。 DMA模式2适用ADC组合模式如下: 普通同时模式(单从机)、普通位移模式(单从机)、普通位移模式(双从机) 本案例将以“DMA模式2+普通同时模式(单从机)”为基础进行使用示范。 资源准备 1) 硬件环境 对应产品型号的AT-START BOARD PA4 and PA7——3.3V PA5 and PB0——GND PA6 and PB1——1.5V左右 2) 软件环境 projectat_start_f4xxexamplesadccombine_mode_ordinary_smlt_oneslave_dma2 软件设计 1) 配置流程 开ADC使用的GPIO配置 配置用于普通通道数据传输的DMA ADC相关配及设定 普通通道软触发 获取转换数据 2) 代码介绍 GPIO配置函数代码 DMA配置函数代码 ADC配置函数代码 中断服务函数代码 main函数代码 实验效果 可通过串口打印查看实现效果,最终串口打印的转换数据如下。 ADC转换数据以字为单位进行传输,传输顺序为: (ADC2第一个转换通道<<16)|ADC1第一个转换通道; (ADC2第二个转换通道<<16)|ADC1第二个转换通道; (ADC2第三个转换通道<<16)|ADC1第三个转换通道; (ADC2第一个转换通道<<16)|ADC1第一个转换通道…… 案例 ADC DMA模式3 功能简介 ADC主从组合模式下的普通通道转换数据需经DMA传输。DMA支持多种模式,不同模式数据的传输规则存在明显差异。 当选择不适用的DMA模式传输转换数据时,会因传输不及时导致数据溢出等问题。因此应用中ADC主从组合模式与DMA模式需要按照RM要求搭配使用。 DMA模式3适用ADC组合模式如下: 6/8位分辨率的普通同时模式(单从机)、6/8位分辨率的普通位移模式(单从机)、6/8位分辨率的普通位移模式(双从机) 本案例将以“DMA模式3+8位分辨率的普通位移模式(双从机)”为基础进行使用示范。 资源准备 1) 硬件环境 对应产品型号的AT-START BOARD PA4——3.3V PA7——GND PC0——1.5V左右 2) 软件环境 projectat_start_f4xxexamplesadccombine_mode_ordinary_shift_twoslave_dma3 软件设计 3) 配置流程 配置ADC使用的GPIO 配置用于触发的TMR(TMR1_TRGOUT event) 配置用于普通通道数据传输的DMA ADC相关配置及设定 等待触发完毕后关闭触发TMR 获取转换数据 4) 代码介绍 GPIO配置函数代码 TMR配置函数代码 DMA配置函数代码 ADC配置函数代码 中断服务函数代码 main函数代码 实验效果 可通过串口打印查看实现效果,最终串口打印的转换数据如下。 ADC转换数据以半字为单位进行传输,传输顺序为: (ADC2的转换通道<<8)|ADC1的转换通道; (ADC1的转换通道<<8)|ADC3的转换通道; (ADC3的转换通道<<8)|ADC2的转换通道; (ADC2的转换通道<<8)|ADC1的转换通道…… 案例 ADC DMA模式4 功能简介 ADC主从组合模式下的普通通道转换数据需经DMA传输。DMA支持多种模式,不同模式数据的传输规则存在明显差异。 当选择不适用的DMA模式传输转换数据时,会因传输不及时导致数据溢出等问题。因此应用中ADC主从组合模式与DMA模式需要按照RM要求搭配使用。 DMA模式4适用ADC组合模式如下: 6/8位分辨率的普通同时模式(双从机)、6/8位分辨率的普通位移模式(双从机) 本案例将以“DMA模式4+8位分辨率的普通位移模式(双从机)”为基础进行使用示范。 资源准备 1) 硬件环境 对应产品型号的AT-START BOARD PA4——3.3V PA7——GND PC0——1.5V左右 2) 软件环境 projectat_start_f4xxexamplesadccombine_mode_ordinary_shift_twoslave_dma4 软件设计 1) 配置流程 配置ADC使用的GPIO 配置用于触发的TMR(TMR1_TRGOUT event) 配置用于普通通道数据传输的DMA ADC相关配置及设定 等待触发完毕后关闭触发TMR 获取转换数据 2) 代码介绍 GPIO配置函数代码 TMR配置函数代码 DMA配置函数代码 ADC配置函数代码 中断服务函数代码 main函数代码 实验效果 可通过串口打印查看实现效果,最终串口打印的转换数据如下。 ADC转换数据以字为单位进行传输,传输顺序为: (ADC3的转换通道<<16)|(ADC2的转换通道<<8)|ADC1的转换通道; (ADC3的转换通道<<16)|(ADC2的转换通道<<8)|ADC1的转换通道…… 图24. ADC DMA模式4实验结果 案例 ADC DMA模式5 功能简介 ADC主从组合模式下的普通通道转换数据需经DMA传输。DMA支持多种模式,不同模式数据的传输规则存在明显差异。 当选择不适用的DMA模式传输转换数据时,会因传输不及时导致数据溢出等问题。因此应用中ADC主从组合模式与DMA模式需要按照RM要求搭配使用。 DMA模式5适用ADC组合模式如下: 普通同时模式(双从机)、普通位移模式(双从机) 本案例将以“DMA模式5+普通同时模式(双从机)”为基础进行使用示范。 资源准备 1) 硬件环境 对应产品型号的AT-START BOARD PA4 and PA7 and PC0——3.3V PA5 and PB0 and PC2——GND PA6 and PB1 and PC3——1.5V左右 2) 软件环境 projectat_start_f4xxexamplesadccombine_mode_ordinary_smlt_twoslave_dma5 软件设计 1) 配置流程 配置ADC使用的GPIO 配置用于触发的TMR(TMR1_CH1 event) 配置用于普通通道数据传输的DMA ADC相关配置及设定 等待触发完毕后关闭触发TMR 获取转换数据 2) 代码介绍 GPIO配置函数代码 TMR配置函数代码 DMA配置函数代码 ADC配置函数代码 中断服务函数代码 main函数代码 实验效果 可通过串口打印查看实现效果,最终串口打印的转换数据如下。 ADC转换数据以字为单位进行传输,传输顺序为: (ADC2第一个转换通道<<16)|ADC1第一个转换通道; ADC3第一个转换通道; (ADC2第二个转换通道<<16)|ADC1第二个转换通道; ADC3第二个转换通道; (ADC2第三个转换通道<<16)|ADC1第三个转换通道; ADC3第三个转换通道 (ADC2第一个转换通道<<16)|ADC1第一个转换通道…… 图25. ADC DMA模式5实验结果 案例 ADC侦测Vref电压 功能简介 实际应用场景中,受外部电路等因素影响,ADC的模拟参考电压可能出现波动,导致ADC转换结果出现失真。当无法优化硬件时,可尝试如下解决办法。 ADC通道ADC1_IN17连接到了MCU的内部参考电压,该内部参考电压是经LDO输出的稳定的1.2V电压值。故可通过ADC1_IN17的转换数据来反推当前的实际模拟参考电压值。再以获取的模拟参考电压进行ADC转换通道数据的计算。 本例将示例如何以ADC1_IN17的转换结果来反推当前的模拟参考电压值。 资源准备 1) 硬件环境: 对应产品型号的AT-START BOARD 2) 软件环境 projectat_start_f4xxexamplesadccurrent_vref_value_check 软件设计 1) 配置流程 配置ADC使用的GPIO 配置用于普通通道数据传输的DMA ADC相关配置及设定 普通通道软触发 获取转换数据反推当前Vref值 2) 代码介绍 DMA配置函数代码 ADC配置函数代码 中断服务函数代码 main函数代码 实验效果 可通过串口打印查看实现效果,测试未独立外接Vref,并使用AT-Link供电,可以看到实际Vref电压固定保持3.32V左右。 图26. ADC侦测Vref电压实验结果 |