完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用的是STM32F0 芯片通过ad采样压值,
电池电压经分压电阻分压后输入PA0 -WKUP1管脚, 经检测,当输入PA0的压值为0.6v时,AD转换值全部都在750左右,经计算,该ad值属于正常。 但是问题来了:当电池电压经分压后,输入PA0的压值为1.05v时,AD转换值如下: 读取的12位ad值,几乎全是4095,中间偶有1294,1293等值, 经计算,这个1294,1293等值应该是对应1.05v的AD转换值 为什么采样值中有这么多的4095呢? 我的代码如下: void BATT_Initial(void) { HAL_ADCEx_Calibration_Start(&hadc); //adc较准 } u32 GetBattValue(void) { static u32 bat; if(HAL_ADC_Start(&hadc) != HAL_OK) ; if (HAL_ADC_PollForConversion(&hadc, 10) != HAL_OK) ; if(HAL_ADC_GetState(&hadc) & HAL_ADC_STATE_REG_EOC) { bat = HAL_ADC_GetValue(&hadc); printf("bat=%ldrn",(unsigned long)bat); } return (bat); } AD设置如下: 请问问题出在哪里呢?盼能得到帮助,谢谢! |
|
相关推荐
5个回答
|
|
你先用3.3v的测试下你的,ad数据吧。。 正常3.3v的时候才是你的ad满量程。。。 难道使用的是外部基准? 这个是我测试的F030R8的,没有问题。。。。用的是HAL 1.40的库 if(HAL_ADC_Start(&hadc) != HAL_OK) { /* Start Conversation Error */ //HAL_GPIO_WritePin (GPIOC ,GPIO_PIN_13,GPIO_PIN_SET ); } if (HAL_ADC_PollForConversion(&hadc, 10) != HAL_OK) { /* End Of Conversion flag not set on time */ HAL_GPIO_WritePin (GPIOA ,GPIO_PIN_5,GPIO_PIN_SET ); } else { /* ADC conversion completed */ /*##-5- Get the converted value of regular channel ########################*/ uhADCxConvertedValue = HAL_ADC_GetValue(&hadc); } float value=0; value = uhADCxConvertedValue*3300/4095; printf ("PA0 ADC=%.2fVr",value/1000 ); |
|
|
|
本帖最后由 Paderboy 于 2015-11-28 13:28 编辑
static u32 bat? u16 GetBattValue(void) { u16 bat; if(HAL_ADC_Start(&hadc) != HAL_OK) ; if (HAL_ADC_PollForConversion(&hadc, 10) != HAL_OK) ; if(HAL_ADC_GetState(&hadc) & HAL_ADC_STATE_REG_EOC) { bat = HAL_ADC_GetValue(&hadc); printf("bat=%drn",bat); } return (bat); } |
|
|
|
这不是问题的根源阿,谢谢! |
|
|
|
时钟分频改大一点,采样周期改长一些试试看
|
|
|
|
还有确定你硬件电路没有问题的。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2183 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2011 浏览 3 评论
4612 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2154 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2687 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 02:48 , Processed in 0.497954 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号