完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用的10K/30K电阻分压测电池电压,引脚电压范围在2.25V-3.15V左右,用万用表实测引脚电压是2.591V,程序测出电压在2.54091787V(_temp_vol 变量),差了有50mv
初始化代码: /** * @brief * @note battery detection init * @param * @retval */ void board_battery_init() { /* ADC */ /* Enable port */ GPIOA_ModeCfg(BATTERY_En_Pin, GPIO_ModeOut_PP_5mA); BATTERY_ENABLE; GPIOA_ModeCfg(BATTERY_Pin, GPIO_ModeIN_Floating); ADC_ExtSingleChSampInit( SampleFreq_3_2, ADC_PGA_1_2 ); /* 注意:数据校准包括 粗调和细调: ADC_DataCalib_Rough() 是粗调函数,调用前需保证PA5引脚配置浮空输入模式,外部没有电压信号,在ADC初始化之后调用,一般调用一次,除非更改了ADC模式(增益改变) ADC_DataCalib_Fine() 是细调函数,对于粗调过的数据进行拟合算法运算,得到更精确数据 */ GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_Floating); RoughCalib_Value = ADC_DataCalib_Rough(); // 用于计算ADC内部偏差,记录到全局变量 RoughCalib_Value中 /* 校准设置模式降功耗 */ GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_PU); } 测量代码: 排版把我给整懵了... 1, ch579 的adc 内部参考电压是1.05 +/- 0.015v; 2, 考虑到电源的纹波影响; 3, adc采样的第一个值,建议舍去,然后再做平均. 感谢回复! |
|
相关推荐
1个回答
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
531 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2907 浏览 2 评论
2402 浏览 1 评论
875浏览 2评论
692浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
423浏览 1评论
535浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
819浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 11:58 , Processed in 0.875247 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号