[STM32L4] 调了半天ADC还不准

[复制链接]
 楼主| 发表于 2025-8-2 07:21 | 显示全部楼层 |阅读模式
开了内部参考电压,校准也做了,结果量个电池电压差了一大截。
发表于 2025-8-2 07:33 | 显示全部楼层
系统有没有Watchdog?可能复位后时钟没切回来。
发表于 2025-8-2 07:34 | 显示全部楼层
看看是不是中断里面卡住了?
发表于 2025-8-2 07:34 | 显示全部楼层
有没有用HSI?F0的HSI有点不稳定。
发表于 2025-8-2 07:35 | 显示全部楼层
Debug模式下看一下SysTick还在跑吗?
发表于 2025-8-2 07:36 | 显示全部楼层
有没有开WFI或者sleep模式?
发表于 2025-8-2 07:37 | 显示全部楼层
用了外部晶振吗?起振后可能切换失败了。
发表于 2025-8-2 07:38 | 显示全部楼层
电源是不是掉压了?低电压会拖慢时钟。
 楼主| 发表于 2025-8-2 07:39 | 显示全部楼层
主频是动态调整的吗?有没有频率自动降级?
发表于 2025-8-2 07:40 | 显示全部楼层
你用的是什么版本的Cube?有些bug会自动切时钟。
发表于 2025-8-2 07:40 | 显示全部楼层
建议用LED简单闪烁做个时间基准测试。
发表于 2025-8-4 11:54 | 显示全部楼层
ADC的精度受电源噪声影响较大。如果电源不稳定或存在高频干扰
发表于 2025-8-4 15:09 | 显示全部楼层
必须读取VREFINT_CAL并计算实际值
发表于 2025-8-4 15:09 | 显示全部楼层
采样时间不足?
发表于 2025-8-4 15:41 | 显示全部楼层
执行 HAL_ADCExocCalibration() 偏移校准
发表于 2025-8-4 16:10 | 显示全部楼层
ADC对电源噪声敏感,VDDA波动会直接影响结果。
发表于 2025-8-4 17:11 | 显示全部楼层
若工作温度变化较大,需在代码中添加温度补偿逻辑。
发表于 2025-8-4 19:10 | 显示全部楼层
未调用HAL_ADCEx_Calibration_Start(&hadc, ADC_SINGLE_ENDED),或校准后未重启ADC。
发表于 2025-8-4 22:12 | 显示全部楼层
用万用表直接测量电池电压和VDDA,与ADC结果对比,确认误差来源。
发表于 2025-8-5 11:37 | 显示全部楼层
ADC的采样时间设置合理。如果采样时间过短,可能会导致采样不准确。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

131

主题

5563

帖子

0

粉丝
快速回复 返回顶部 返回列表