stm32 adc计算

用STM32自带的ADC读取引脚电压值,读回来的数据怎么转换成单位为V的数值???
V(ADC) = Value(ADC) * V(ref)/4096
(stm32的ADC是12位的,所以ad字的最大值是4096)
其中V(ADC)为算出的电压值;Value(ADC)为采集的AD值;V(ref)为参考电压,一般为3.3V。
比如你STM32的参考电压为3.3v,采集的AD值为1024,那么转换为电压V(ADC) = 1024×3.3/4096 = 0.825V

时间: 2024-10-11 21:22:48

stm32 adc计算的相关文章

STM32——ADC

STM32--ADC 宗旨:技术的学习是有限的,分享的精神的无限的. 一.ADC指标 有 18 个通道,可测量 16 个外部和 2 个内部信号源.各通道的 A/D 转换可以单次.连续.扫描或间断模式执行 :ADC的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中 :模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高 / 低阈值. 对于 ADC 来说,我们最关注的就是它的分辨率.转换时间.ADC 类型.参考电压范围: (1)分辨率:12 位分辨率.不能直接测量负电压,所以没有符号位,

STM32 ADC 测电压

1. STM32F103 ADC 本例使用STM32F103芯片的PA1引脚测试模拟输入的电压值. 查看文档<STM32F103X.pdf>第31页,引脚定义图: 得知PA1使用ADC1的通道1. 查看文档<STM32F103X.pdf>第13页,时钟树图: 得知ADC1可2,4,6,8分频,又ADC输入时钟不得超过14MHZ(参见STM32参考手册RM0008第11章ADC). //初始化ADC //这里我们仅以规则通道为例 //我们默认将开启通道0~3 void Adc_Ini

STM32 波特率计算

The baud rate for the receiver and transmitter (Rx and Tx) are both set to the same value as programmed in the Mantissa and Fraction values of USARTDIV. 从上图可以看出,该寄存器高 16 位无效,最低 4 位为小数部分,其余部分为整数部分. 这样的设计可以使波特率更加精确.关于波特率的产生,有这么一段话来解释: 分数波特率的产生:  接收器和发送

STM32频率计算

STM32采用定时器捕获的方法测低频信号很准确,我测高频100K-120K就误差太大了,大概200Hz,这儿的误差是个范围,不是某个值.有的人说两个定时器一个定时,一个计数,这样太浪费资源了吧.我项目要采集两个地感线圈的频率,所以用两个定时器捕获,这儿只说一个定时器的方法,用的是定时器3通道2,下面是用捕获的方法计算频率: void Time3_Configuration() { TIM_ICInitTypeDef TIM_ICInitStructure; TIM_TimeBaseInitTyp

STM32.ADC

ADC实验 原理图: 1.ADC配置函数 /* enable adc1 and config adc1 to dma mode */ ADC1_Init(); /** * @brief ADC1初始化 * @param 无 * @retval 无 */ void ADC1_Init(void) { ADC1_GPIO_Config(); //端口初始化 ADC1_Mode_Config(); } 对于配置ADC1的工作模式为MDA模式 ADC1是挂载到DMA1的通道1的 #define ADC1

STM32 ADC规则组和注入组配置方法

//############################################################//近期在用STM32F103编写无刷电机矢量控制,在配置ADC模式时遇到很多奇怪的问题,网上能说清楚的资料太少,//公布我配置的结果,实测OK//3组规则通道连续转换+DMA//2组注入通道TIM1的4通道触发(规格书未说明是上升沿还是下降沿触发,实测波形为上升沿触发)//##################################################

STM32 ADC基础与多通道采样

12位ADC是一种逐次逼近型模拟数字数字转换器.它有多达18个通道,可测量16个外部和2个内部信号源.ADC的输入时钟不得超过14MHZ,它是由PCLK2经分频产生.如果被ADC转换的模拟电压低于低阀值或高于高阀值,AWD模拟看门狗状态位被设置. ADC通常要与DMA一起使用 这里只是简单的用库配置ADC 不断扫描来实现ADC的应用. 配置DMA: void DMA_Config(void) { DMA_InitTypeDef DMA_InitStructure;//定义DMA初始化结构体 DM

对STM32 ADC单次转换模式 连续转换模式 扫描模式的理解

举例 用ADC1 规则通道的顺序为CH0,CH1,CH2,CH3, 不启动SCAN模式: 在单次转换模式下: 启动ADC1,则 1.开始转换CH1(ADC_SQR的第一通道) 转换完成后停止,等待ADC的下一次启动,继续从第一步开始转换 在连续转换模式下: 启动ADC1,则 1.开始转换CH0(ADC_SQR的第一通道) 转换完成后回到第一步,继续转换 启动SCAN模式下 在单次转换模式下: 启动ADC1,则 1.开始转换CH0. 2.转换完成后自动开始转换CH1 3.转换完成后自动开始转换CH

STM32 ADC DMA 中断模式多通道读取ADC转换值

因为做一个电机控制项目,其中需要用到用PWM触发ADC,读取ADC的转换值. 这里有两个关键问题: 第一,如何使PWM触发ADC转换? 第二,如何在ADC多通道扫描模式下,读取各个channel的adc转换值? 第三,如何使用DMA读取多通道ADC转换值? 第一个问题,首先需要将ADC设置成外部触发转换,第二需要选择触发是发生在Timer的上升沿还是下降沿.程序如下: adc.ADC_Resolution = ADC_Resolution_12b; adc.ADC_ScanConvMode =E