历史上的今天
今天是:2024年09月06日(星期五)
2021年09月06日 | 解决STM32单片机的ADC采样不准确偏移的问题
2021-09-06 来源:eefocus
项目场景:
用STM32CubeMX生成的ADC采样测量电压。
单片机:STM32G070
MDK:V5.25
问题描述:
采样回来的数值Debug看总是大了些许,几个通道都是这样,具体测试情况如下:

原因分析:
翻阅对比官方历程检查发现没有ADC校准,STM32CubeMX不会自动帮你配置校准。
/* Run the ADC calibration */
if (HAL_ADCEx_Calibration_Start(&hadc1) != HAL_OK)
{
/* Calibration Error */
Error_Handler();
}
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
/*## Start ADC conversions ###############################################*/
/* Start ADC group regular conversion with DMA */
if (HAL_ADC_Start_DMA(&hadc1,
(uint32_t *)aADCxConvertedData,
ADC_CONVERTED_DATA_BUFFER_SIZE
) != HAL_OK)
{
/* ADC conversion start error */
Error_Handler();
}
解决方案:
加上校准即可。
HAL_ADCEx_Calibration_Start(&hadc1);
HAL_ADC_Start_DMA(&hadc1, (uint32_t *)&m_ADCValue[0], ADC_BUF_LEN);
史海拾趣
|
蓄电池的四个发展阶段 1.1.1普通铅酸蓄电池 在50年代,生产的铅蓄电池叫普通电池,当时的产品用户启用时都要有“初充电”工艺环节。电解液注入电池后,电池发热,待电解温度降下来后,进行第一次充电。充电后再放出容量,这个循环叫充放电循环。初 ...… 查看全部问答> |
|
该电路图的目的是分析对输入信号进行分类,然后输出,对输出脉冲进行计数的功能。 此电路图只对信号分类。 可是我还不能很理解。 请求给予帮住。 [ 本帖最后由 阳光如烟 于 2008-8-25 17:34 编辑 ]… 查看全部问答> |
|
我打算通过扩展定时器的方法测出多路PWM信号的占空比,利用GATE门控位,当GATE低电平的时候读取外部定时器8253计数器的值。可是我怎么也读不出来值,当我使RD位有效时,读的计数器的值也总是不变是个固定值,大家看看我的程序有什么问题??怎么改 ...… 查看全部问答> |
|
通过PFILE_OBJECT的DeviceObject如何修改盘符??十万火急! 如题: UNICODE_STRING usDosName; PFILE_OBJECT pFileObject = IrpSp->fileObject; 使用RtlVolumeDeviceToDosName(pFileObject->DeviceObject,&usDosName) 可以得到usDosName的盘符,如C: 问题是如何修改C:为 J:,实现文件的跨盘存储 ...… 查看全部问答> |
|
【TI首届低功耗设计大赛】+@fxyc87+CCS编译环境初识+第一课 点亮LED 【TI首届低功耗设计大赛】+@fxyc87+CCS编译环境初识+第一课 点亮LED在论坛搜索 【TI首届低功耗设计大赛】+@fxyc87+ 上一次发布了开发板的秀,https://bbs.eeworld.com.cn/thread-446740-1-1.html 以及IAR编译环境的使用说明及点亮LED,见贴[url]h ...… 查看全部问答> |
|
【TI首届低功耗设计大赛】如何利用IAR For MSP430自带的库建立属于自己的工程 本帖最后由 Mandy 于 2014-12-13 19:48 编辑 如何利用IAR For MSP430自带的库建立属于自己的工程 1、在D盘建立一个LEDTest的文件夹,找到“..\\430\\examples\\driverlib\\driverlib”路径下的“MSP430FR5xx_6xx”库文件夹。“MSP430FR5xx_6xx” ...… 查看全部问答> |




